Знаешь ли что-нибудь про мультипроцессинг
Python
Junior
Без компании
Знаешь ли что-нибудь про мультипроцессинг
Ответы
Да, мультипроцессинг в Python — это подход для параллельного выполнения задач с использованием нескольких процессов. В отличие от потоков (threading), процессы имеют отдельные области памяти, что позволяет обойти GIL (Global Interpreter Lock) и эффективно использовать многоядерные процессоры.
Основной модуль — `multiprocessing`. Пример:
```
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()
```
Ключевые моменты:
- `Process` создает новый процесс.
- `start()` запускает процесс.
- `join()` ожидает завершения.
- Обязательно использовать `if __name__ == '__main__'` во избежание ошибок.
Также есть `Pool` для управления пулом процессов и `Queue` для обмена данными.