Расскажи про процессы в Python

Python Junior Без компании
Расскажи про процессы в Python
Ответы
В Python процессы управляются модулем `multiprocessing`, который позволяет создавать параллельные вычисления, обходя GIL (Global Interpreter Lock). **Ключевые моменты:** - Каждый процесс имеет свой интерпретатор и память. - Обмен данными между процессами требует IPC (межпроцессного взаимодействия) через `Queue`, `Pipe` или shared memory (`Value`, `Array`). - Процессы тяжелее потоков из-за накладных расходов на создание. **Пример:** ``` from multiprocessing import Process, Queue def worker(q, num): q.put(num * 2) if __name__ == '__main__': q = Queue() p = Process(target=worker, args=(q, 5)) p.start() p.join() print(q.get()) # Выведет 10 ``` **Когда использовать:** - CPU-bound задачи (вычисления, обработка данных). - Изоляция кода (например, для безопасности). ⚠️ Осторожно с глобальными переменными — процессы их не разделяют!