Встречается на собеседованиях • сегодня
Чем запускать параллельно CPU bound задачи в Python
Для параллельного выполнения CPU-bound задач в Python лучше всего использовать модуль multiprocessing, так как он обходит ограничения GIL (Global Interpreter Lock), создавая отдельные процессы.
Пример:
python
from multiprocessing import Pool
def cpu_bound_task(x):
return x * x
if name == 'main':
with Pool(4) as p: # 4 процесса
results = p.map(cpu_bound_task, range(10))
print(results) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
text
Альтернативы:
- `concurrent.futures.ProcessPoolExecutor` – удобный интерфейс поверх `multiprocessing`.
- Библиотеки `joblib` или `dask` для сложных сценариев.
Не используйте `threading` для CPU-bound задач – из-за GIL он не даст прироста производительности.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы