Junior — Middle
108
Python'da vazifalarni asinxron tarzda qanday amalga oshirilishini va u qanday ishlashini tushuntirib bera olasizmi?
Qaerda so'ralgan kompaniyalar
ИП Калюков Н.С.
ООО Авантелеком
Стилсофт
Effective Mobile
AIdan javob
sobes.tech AI
Асинхронная обработка задач в Python реализуется с помощью модуля asyncio, который позволяет писать код, не блокирующий выполнение при ожидании ввода-вывода или других длительных операций.
Основные концепции:
- Коррутины — функции, объявленные с
async def, которые можно приостанавливать с помощьюawaitи возобновлять позже. - Цикл событий (event loop) — управляет выполнением коррутин, планирует их запуск и переключение.
Пример:
import asyncio
async def say_hello():
print('Привет')
await asyncio.sleep(1) # имитация асинхронной операции
print('Мир')
async def main():
await asyncio.gather(say_hello(), say_hello())
asyncio.run(main())
В этом примере две коррутины say_hello запускаются параллельно, и во время ожидания asyncio.sleep цикл событий переключается между ними, не блокируя выполнение программы.