Работал ли с библиотекой Multiprocessing
Python
Junior
Без компании
Работал ли с библиотекой Multiprocessing
Ответы
Да, работал. `multiprocessing` позволяет создавать параллельные процессы в Python, обходя GIL (Global Interpreter Lock), что полезно для CPU-задач.
**Основные моменты:**
- `Process` для создания процессов
- `Pool` для пула процессов
- `Queue` и `Pipe` для межпроцессного взаимодействия
**Пример:**
```
from multiprocessing import Process, Queue
def worker(q, num):
q.put(num * 2)
if __name__ == '__main__':
q = Queue()
processes = [Process(target=worker, args=(q, i)) for i in range(4)]
for p in processes:
p.start()
for p in processes:
p.join()
while not q.empty():
print(q.get()) # Вывод: 0, 2, 4, 6
```
**Нюансы:**
- Обязательно использовать `if __name__ == '__main__'` в Windows
- Межпроцессная коммуникация медленнее, чем многопоточность
- Для IO-задач лучше подходит `asyncio` или `threading`