Как работает cooperative
multitasking в Python, и почему asyncio не использует потоки?Ответ ⬇️
В Python asyncio использует кооперативную многозадачность (cooperative multitasking), где задачи передают управление друг другу явно (await). Это отличается от потоков (threading), которые работают конкурентно, но ограничены GIL.
Асинхронность полезна для операций ввода-вывода (сетевые запросы, работа с файлами), так как позволяет одной задаче выполняться, пока другая ждёт результата.
Пример использования ⚙️
import asyncio
async def task(name, delay):
await asyncio.sleep(delay)
print(f"Задача {name} завершена")
async def main():
await asyncio.gather(task("A", 2), task("B", 1))
asyncio.run(main())
Python Learning 👩💻