Встречается на собеседованиях • сегодня

Какие инструменты применял для многопоточности (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.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы