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