Встречается на 1% собеседований по Python
Какие знаешь проблемы multithreading
Глобальная блокировка интерпретатора (GIL) в CPython ограничивает выполнение только одного потока за раз, что снижает эффективность CPU-bound задач.
Проблемы:
- Race conditions — гонка данных при одновременном доступе к общим ресурсам.
- Deadlocks — взаимоблокировка потоков, ожидающих друг друга.
- Сложность отладки — недетерминированное поведение из-за переключения потоков.
- Накладные расходы — создание потоков требует ресурсов, а GIL мешает распараллеливанию.
Пример race condition:
python
import threading
counter = 0
def increment():
global counter
for _ in range(100000):
counter += 1
threads = [threading.Thread(target=increment) for _ in range(2)]
for t in threads:
t.start()
for t in threads:
t.join()
print(counter) # Может быть меньше 200000 из-за гонкиРешение:
- Использовать
threading.Lockдля синхронизации. - Для CPU-bound задач —
multiprocessing. - Для I/O-bound задач — асинхронность (
asyncio).

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