Расскажи про потоки в Python

Python Junior Без компании
Расскажи про потоки в Python
Ответы
В Python потоки реализуются через модуль `threading`. Они позволяют выполнять задачи параллельно, но из-за GIL (Global Interpreter Lock) настоящая параллельность возможна только для I/O-bound задач, а не CPU-bound. **Основные моменты:** - Создание потока: `thread = threading.Thread(target=функция, args=(аргументы,))` - Запуск: `thread.start()` - Ожидание завершения: `thread.join()` Пример: ``` import threading import time def task(name): print(f"Поток {name} начал работу") time.sleep(2) print(f"Поток {name} завершил работу") threads = [] for i in range(3): t = threading.Thread(target=task, args=(i,)) threads.append(t) t.start() for t in threads: t.join() ``` **Особенности:** - Общие данные требуют синхронизации (Lock, RLock) - GIL ограничивает производительность для CPU-bound задач - Для CPU-bound задач лучше использовать multiprocessing