Python Glossary English

все Python 3multiprocessingпонятие

multiprocessing

модуль

Параллельные вычисления в нескольких процессах: обход GIL для счётных задач, пулы, очереди и общая память.

Синтаксис

import multiprocessing

Берите multiprocessing для счётных задач, которые упираются в процессор: потоки threading делят один GIL, а процессы — нет. Для простого «раздать работу пулу» удобнее concurrent.futures.ProcessPoolExecutor. Запуск обязателен под if __name__ == '__main__': в режиме spawn (умолчание Windows и macOS) и forkserver (умолчание Linux с 3.14) дочерний процесс заново импортирует главный модуль. Передаваемые функции и данные должны сериализоваться pickle — lambda не подойдёт.

Примеры

from multiprocessing import Pool
def square(x):
    return x * x
if __name__ == '__main__':
    with Pool(2) as pool:
        print(pool.map(square, [1, 2, 3]))  # → [1, 4, 9]

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности