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