Расскажи про процессы в 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 задачи (вычисления, обработка данных).
- Изоляция кода (например, для безопасности).
⚠️ Осторожно с глобальными переменными — процессы их не разделяют!