Встречается на собеседованиях • сегодня
Чем плохо использование потоков нежели кооперативной многозадачности в Python
В Python потоки (threading) имеют ограничения из-за GIL (Global Interpreter Lock), который позволяет выполняться только одному потоку за раз в одном процессе. Это делает их неэффективными для CPU-задач, так как они не могут выполняться параллельно.
Кооперативная многозадачность (asyncio) более эффективна для I/O-операций, так как не блокирует поток, а переключает задачи при ожидании. Это уменьшает накладные расходы на переключение контекста.
Пример:
python
# Потоки (неэффективно для CPU)
import threading
def cpu_task():
sum(range(10**6))
threads = [threading.Thread(target=cpu_task) for _ in range(4)]
for t in threads: t.start()
for t in threads: t.join()
# Asyncio (лучше для I/O)
import asyncio
async def io_task():
await asyncio.sleep(1)
async def main():
await asyncio.gather(*[io_task() for _ in range(4)])
asyncio.run(main())Вывод: потоки плохи для CPU-задач из-за GIL, асинхронность лучше для I/O.

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