Встречается на собеседованиях • сегодня
Какие подходы к конкурентности в 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
интервью вопросы и ответы