溫馨提示×

python異步任務怎么實現(xiàn)

小億
112
2023-09-21 23:10:39
欄目: 編程語言

在Python中,可以使用協(xié)程(Coroutine)和異步IO來實現(xiàn)異步任務。

首先,需要使用async關鍵字定義一個協(xié)程函數(shù)(Coroutine function),并使用await關鍵字來等待異步操作的結果。協(xié)程函數(shù)可以使用asyncio模塊中的事件循環(huán)(Event Loop)來調度執(zhí)行。

以下是一個使用協(xié)程實現(xiàn)異步任務的示例:

import asyncio
async def async_task():
print("Start async task")
await asyncio.sleep(1)  # 模擬耗時操作
print("Async task completed")
async def main():
print("Start main function")
await asyncio.gather(async_task(), async_task())  # 并發(fā)執(zhí)行兩個異步任務
print("Main function completed")
# 創(chuàng)建一個事件循環(huán)并運行主函數(shù)
asyncio.run(main())

在上述示例中,async_task函數(shù)是一個簡單的異步任務,它使用await asyncio.sleep(1)語句來模擬一個耗時的操作。main函數(shù)是一個協(xié)程函數(shù),它使用await asyncio.gather()來并發(fā)執(zhí)行多個異步任務。

通過運行上述代碼,可以看到輸出結果類似于:

Start main function
Start async task
Start async task
Async task completed
Async task completed
Main function completed

以上就是使用協(xié)程實現(xiàn)異步任務的基本方法。當有多個異步任務需要執(zhí)行時,可以使用asyncio.gather()函數(shù)來并發(fā)執(zhí)行這些任務。另外,還可以使用asyncio.wait()函數(shù)來等待一組異步任務完成。

0