Встречается на 1% собеседований по Python
Как параллельно работать в CPU bound задачами в Python
Для параллельного выполнения CPU-bound задач в Python используй модуль multiprocessing, так как GIL ограничивает многопоточность в CPU-bound задачах.
Пример:
python
from multiprocessing import Pool
def cpu_intensive_task(x):
return x * x
if name == "main":
with Pool(processes=4) as pool:
results = pool.map(cpu_intensive_task, range(10))
print(results) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
text
**Ключевые моменты:**
- `multiprocessing` создаёт отдельные процессы, обходя GIL.
- Используй `Pool` для удобного распределения задач.
- `if __name__ == "__main__"` обязательно для Windows/MacOS.
- Для больших данных используй `imap`/`imap_unordered` с чанками.
Альтернативы: `concurrent.futures.ProcessPoolExecutor` или библиотеки типа `joblib`/`dask`.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы