Что такое многопоточность

Python Junior Без компании
Что такое многопоточность
Ответы
Многопоточность — это возможность выполнения нескольких потоков в рамках одного процесса. Потоки разделяют общую память, что позволяет им эффективно обмениваться данными, но требует синхронизации для избежания гонок. В Python используется GIL (Global Interpreter Lock), который ограничивает выполнение только одного потока в момент времени, несмотря на наличие нескольких ядер. Это делает многопоточность полезной в основном для I/O-bound задач (например, сетевые запросы), но не для CPU-bound задач. Пример с `threading`: ``` 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.