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