Что такое многопоточность
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.