Какими модулями реализуется многопоточность в Python

Python Middle Без компании
Какими модулями реализуется многопоточность в Python
Ответы
В Python многопоточность реализуется с помощью модуля `threading`. Однако из-за GIL (Global Interpreter Lock) потоки выполняются не совсем параллельно, а переключаются между собой, что полезно для I/O-bound задач. Для CPU-bound задач лучше использовать `multiprocessing`, который создает отдельные процессы с собственным GIL. Также есть `concurrent.futures`, предоставляющий высокоуровневый интерфейс для пула потоков (`ThreadPoolExecutor`) и процессов (`ProcessPoolExecutor`). Пример с `threading`: ``` import threading def worker(): print("Thread working") thread = threading.Thread(target=worker) thread.start() thread.join() ``` Пример с `concurrent.futures`: ``` from concurrent.futures import ThreadPoolExecutor with ThreadPoolExecutor(max_workers=3) as executor: executor.submit(lambda: print("Task done")) ```