Встречается на собеседованиях • сегодня
Для каких задач не подходит многопоточность
Многопоточность неэффективна в Python для CPU-задач из-за GIL (Global Interpreter Lock), который ограничивает выполнение кода одним потоком в один момент времени. Лучше использовать многопроцессорность (multiprocessing) или асинхронность (asyncio).
Пример CPU-задачи (вычисление чисел Фибоначчи):
python
def fib(n):
if n <= 1:
return n
return fib(n-1) + fib(n-2)
# Многопоточность не ускорит это
from threading import Thread
t1 = Thread(target=fib, args=(35,))
t2 = Thread(target=fib, args=(35,))
t1.start(); t2.start() # Будет выполняться последовательно из-за GILТакже не подходит:
- Для задач с интенсивным IO, где лучше
asyncio - Когда нужна настоящая параллельность (лучше
multiprocessing) - Для простых задач, где накладные расходы на потоки превысят выгоду

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