Как работает многопроцессность в Python

Python Middle Rutube
Как работает многопроцессность в Python
Ответы
В Python многопроцессорность реализуется через модуль `multiprocessing`, который создает отдельные процессы с собственным интерпретатором и памятью. Это обходит GIL (Global Interpreter Lock), позволяя использовать несколько ядер CPU. Пример: ``` from multiprocessing import Process def worker(num): print(f'Процесс {num} запущен') if __name__ == '__main__': processes = [] for i in range(3): p = Process(target=worker, args=(i,)) processes.append(p) p.start() for p in processes: p.join() ``` Ключевые особенности: - Каждый процесс имеет собственное пространство памяти - Обмен данными между процессами требует специальных механизмов (Queue, Pipe, shared memory) - Создание процессов дороже, чем потоков - Идеально подходит для CPU-задач, но не для I/O-bound задач Для управления процессами часто используют `Pool`: ``` from multiprocessing import Pool def square(x): return x * x with Pool(4) as p: print(p.map(square, [1, 2, 3, 4])) ```