Какие инструменты применял для многопоточности (multithreading)

Python Middle Без компании
Какие инструменты применял для многопоточности (multithreading)
Ответы
В Python для многопоточности чаще всего используется модуль `threading`. Он подходит для I/O-bound задач (например, сетевые запросы, чтение файлов), но не для CPU-bound из-за GIL. Пример: ``` 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() ``` Альтернативы: - `concurrent.futures.ThreadPoolExecutor` – удобен для управления пулом потоков. - `asyncio` – для асинхронного I/O (корутины вместо потоков). - `multiprocessing` – для CPU-bound задач (обходит GIL, но дороже по ресурсам). Важно: - Глобальные данные требуют синхронизации (`Lock`, `RLock`). - Осторожно с deadlocks и race conditions.