Встречается на собеседованиях • сегодня
Какой опыт работы с threading
В Python модуль threading используется для создания и управления потоками. Основные моменты:
- GIL (Global Interpreter Lock) ограничивает параллельное выполнение потоков для CPU-bound задач, но эффективен для I/O-bound операций.
- Основные классы:
Thread,Lock,Event,Condition,Semaphore. - Потоки разделяют память, что требует синхронизации (например, через
Lock).
Пример:
python
import threading
def worker(num):
print(f"Поток {num} начал работу")
# Имитация работы
time.sleep(1)
print(f"Поток {num} завершил работу")
threads = []
for i in range(3):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
for t in threads:
t.join() # Ожидание завершения всех потоковНюансы:
- Риск race condition (используйте
Lock). - Потоки не гарантируют ускорение CPU-bound задач из-за GIL.
- Для истинного параллелизма лучше
multiprocessing.

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