Встречается на собеседованиях • сегодня

Как параллельно работать в 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`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы