Какие знаешь виды многозадачности
Python
Middle
Aston
Какие знаешь виды многозадачности
Ответы
В Python есть два основных вида многозадачности:
- **Потоки (Threading)**
- Используют общую память, подходят для I/O-bound задач.
- GIL (Global Interpreter Lock) ограничивает параллельное выполнение CPU-bound задач.
```
import threading
def task():
print("Thread running")
thread = threading.Thread(target=task)
thread.start()
thread.join()
```
- **Процессы (Multiprocessing)**
- Полная изоляция памяти, подходят для CPU-bound задач.
- Нет ограничений GIL, но накладные расходы выше.
```
import multiprocessing
def task():
print("Process running")
process = multiprocessing.Process(target=task)
process.start()
process.join()
```
Также есть **асинхронность (asyncio)** для I/O-bound задач с одним потоком, но это не параллелизм, а кооперативная многозадачность.