Junior — Middle
90
Kako napisati funkciju koja se izvršava asinhrono, tj. ne blokira glavni tok izvršenja?
Компаније где су питане
СБЕР Бизнес
Одговор од АИ
sobes.tech АИ
В Python для написания асинхронной функции используется ключевое слово async def. Такая функция возвращает корутину, которую можно выполнить с помощью await или запустить в событийном цикле asyncio. Это позволяет не блокировать основной поток, так как выполнение функции приостанавливается в местах await, давая возможность другим задачам выполняться параллельно.
Пример асинхронной функции:
import asyncio
async def async_function():
print("Начало работы")
await asyncio.sleep(1) # имитация асинхронной операции
print("Завершение работы")
async def main():
await async_function()
asyncio.run(main())
В этом примере asyncio.sleep(1) не блокирует поток, а приостанавливает выполнение на 1 секунду, позволяя другим задачам выполняться.