Встречается на собеседованиях • сегодня
Как параллельно работать в 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
интервью вопросы и ответы