Junior — Middle
117
Python-da asyncio kitabxanasında asinxron model necə işləyir və hansı komponentlərdən ibarətdir?
Şirkətlər soruşuldu
AI-dan cavab
sobes.tech Süni İntellekt
Асинхронная модель в библиотеке asyncio в Python основана на событийном цикле (event loop), который управляет выполнением задач без блокировки основного потока.
Основные компоненты asyncio:
- Event Loop — центральный механизм, который планирует и запускает корутины, обрабатывает события ввода-вывода.
- Корутины (coroutines) — функции с ключевым словом
async def, которые могут приостанавливать выполнение с помощьюawaitи возобновляться позже. - Future и Task — объекты, представляющие отложенные результаты; Task — это обертка над корутиной, которая позволяет планировать её выполнение.
- Транспорт и протоколы — низкоуровневые компоненты для работы с сетью и другими асинхронными операциями.
Пример использования:
import asyncio
async def say_hello():
print('Hello')
await asyncio.sleep(1)
print('World')
asyncio.run(say_hello())
Здесь asyncio.run запускает event loop, который выполняет корутину say_hello. Во время await asyncio.sleep(1) event loop может переключиться на другие задачи, не блокируя поток.