在Python中,可以使用asyncio
庫(kù)來(lái)執(zhí)行異步操作。asyncio
庫(kù)提供了編寫(xiě)并發(fā)代碼的基礎(chǔ)設(shè)施,允許你使用async/await
語(yǔ)法編寫(xiě)異步代碼。以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用asyncio
執(zhí)行異步操作:
import asyncio
async def async_operation(seconds):
print(f"開(kāi)始執(zhí)行異步操作,等待 {seconds} 秒...")
await asyncio.sleep(seconds)
print(f"異步操作完成")
async def main():
task1 = asyncio.create_task(async_operation(1))
task2 = asyncio.create_task(async_operation(2))
await task1
await task2
if __name__ == "__main__":
asyncio.run(main())
在這個(gè)示例中,我們定義了一個(gè)名為async_operation
的異步函數(shù),它接受一個(gè)參數(shù)seconds
,表示要等待的秒數(shù)。在函數(shù)內(nèi)部,我們使用await asyncio.sleep(seconds)
來(lái)模擬異步操作,如網(wǎng)絡(luò)請(qǐng)求或文件讀寫(xiě)等。
main
函數(shù)中,我們創(chuàng)建了兩個(gè)任務(wù)task1
和task2
,分別執(zhí)行async_operation
函數(shù),并等待它們完成。最后,我們使用asyncio.run(main())
來(lái)運(yùn)行main
函數(shù)。
當(dāng)你運(yùn)行這個(gè)程序時(shí),你會(huì)看到以下輸出:
開(kāi)始執(zhí)行異步操作,等待 1 秒...
開(kāi)始執(zhí)行異步操作,等待 2 秒...
異步操作完成
異步操作完成
請(qǐng)注意,由于異步操作的執(zhí)行順序是不確定的,因此輸出的順序可能會(huì)有所不同。