Встречается на 1% собеседований по Python
Какие особенности работы с многопоточностью
В Python из-за GIL (Global Interpreter Lock) потоки выполняются поочередно, даже на многоядерных CPU. Это делает их неэффективными для CPU-задач, но подходящими для I/O-bound задач (сетевые запросы, чтение файлов).
Пример с потоками:
python
import threading
def task():
print("Выполняется в потоке")
threads = []
for _ in range(5):
t = threading.Thread(target=task)
t.start()
threads.append(t)
for t in threads:
t.join()
text
**Особенности:**
- Потоки делят память, что требует синхронизации (`Lock`, `RLock`).
- GIL ограничивает параллелизм CPU-операций.
- Для CPU-bound задач лучше использовать `multiprocessing`.
- Асинхронность (`asyncio`) эффективнее для I/O-bound задач.
**Осторожно:**
- Гонки данных (race conditions).
- Deadlocks при неправильной блокировке.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы