Встречается на 1% собеседований по Python
Какие подходы к конкурентности в Python
В Python есть несколько подходов для работы с конкурентностью:
-
Потоки (threading)
Подходит для I/O-bound задач (сетевые запросы, чтение файлов).
Из-за GIL (Global Interpreter Lock) потоки выполняются по очереди, но при I/O GIL отпускается.pythonimport threading def task(): print("Thread running") thread = threading.Thread(target=task) thread.start()
-
Процессы (multiprocessing)
Для CPU-bound задач (вычисления). Каждый процесс имеет свой GIL.pythonfrom multiprocessing import Process def task(): print("Process running") process = Process(target=task) process.start() -
Асинхронность (asyncio)
Оптимально для I/O-bound задач с большим количеством соединений.pythonimport asyncio async def task(): print("Coroutine running") asyncio.run(task()) -
ThreadPool/ProcessPool (concurrent.futures)
Упрощает работу с пулами потоков/процессов.pythonfrom concurrent.futures import ThreadPoolExecutor with ThreadPoolExecutor() as executor: executor.submit(lambda: print("Task in pool"))
Выбор зависит от типа задачи:
- I/O-bound → threading или asyncio
- CPU-bound → multiprocessing

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