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