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