Что такое поток (Thread) в Python

Python Junior Без компании
Что такое поток (Thread) в Python
Ответы
**Поток (Thread)** — это наименьшая единица выполнения внутри процесса. Потоки одного процесса делят общую память и ресурсы, но выполняются независимо. *Пример кода:* ``` import threading import time def task(seconds): print(f"Задача началась, спим {seconds} сек.") time.sleep(seconds) print("Задача завершена") # Создаём и запускаем поток thread = threading.Thread(target=task, args=(3,)) thread.start() print("Основной поток продолжает работу") thread.join() # Ждём завершения потока print("Все потоки завершены") ``` *Вывод:* ``` Задача началась, спим 3 сек. Основной поток продолжает работу (через 3 секунды) Задача завершена Все потоки завершены ``` ### **Ключевые моменты:** **- Общая память:** Потоки легко обмениваются данными через общие переменные (но это требует синхронизации). **- GIL:** Главное ограничение. Он не даёт нескольким потокам выполнять *байт-код Python* одновременно. Поэтому для настоящего распараллеливания вычислений используют **процессы (Process)**. **- I/O-bound:** Потоки идеальны для задач, где много времени тратится на ожидание (запросы к сетям, БД, чтение файлов).