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