Какие знаешь виды параллелизма в Python

Python Middle Без компании
Какие знаешь виды параллелизма в Python
Ответы
В Python есть несколько способов достижения параллелизма: - **Потоки (threading)** Подходит для I/O-bound задач (сетевые запросы, чтение файлов). ``` import threading def task(): print("Thread running") thread = threading.Thread(target=task) thread.start() ``` - **Процессы (multiprocessing)** Для CPU-bound задач (вычисления). Полная изоляция памяти. ``` from multiprocessing import Process def task(): print("Process running") p = Process(target=task) p.start() ``` - **Асинхронность (asyncio)** Однопоточный параллелизм через корутины. Для I/O-bound задач. ``` import asyncio async def task(): print("Coroutine running") asyncio.run(task()) ``` - **GIL (Global Interpreter Lock)** Ограничивает выполнение Python-кода одним потоком, но не влияет на процессы. Выбор зависит от типа задачи: - CPU-bound → multiprocessing - I/O-bound → threading или asyncio