Встречается на собеседованиях • сегодня
Что лучше использовать в Python для выполнения тяжелых вычислений — многопоточность или многопроцессность
В Python для тяжелых вычислений лучше использовать многопроцессность (multiprocessing), а не многопоточность (threading). Причина — GIL (Global Interpreter Lock), который ограничивает выполнение Python-кода одним потоком одновременно, даже на многоядерных процессорах.
Многопроцессность обходит GIL, так как каждый процесс имеет свой интерпретатор и память. Это позволяет эффективно использовать все ядра CPU.
Пример с multiprocessing:
python
import multiprocessing
def heavy_computation(number):
return number * number
if __name__ == "__main__":
numbers = [1, 2, 3, 4]
with multiprocessing.Pool() as pool:
results = pool.map(heavy_computation, numbers)
print(results) # [1, 4, 9, 16]Когда использовать потоки?
Для I/O-bound задач (сетевые запросы, чтение файлов), где потоки не блокируются GIL. Для CPU-bound задач — только процессы.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы