Есть ли многопоточность (multithreading) в Python

Python Middle Без компании
Есть ли многопоточность (multithreading) в Python
Ответы
В Python существует модуль `threading`, который позволяет работать с потоками, но из-за Global Interpreter Lock (GIL) настоящая параллельность потоков для CPU-задач невозможна. GIL позволяет выполняться только одному потоку за раз, даже на многоядерных системах. Однако для I/O-bound задач (сетевые запросы, чтение файлов) multithreading эффективен, так как потоки освобождают GIL во время ожидания. Пример: ``` import threading def worker(): print("Поток работает") threads = [] for _ in range(5): t = threading.Thread(target=worker) threads.append(t) t.start() for t in threads: t.join() ``` Для CPU-bound задач лучше использовать `multiprocessing`, который создает отдельные процессы с собственным GIL.