是的,Python的asyncio庫可以實現并發執行延遲命令。通過使用異步編程和協程,您可以編寫并發代碼,而無需創建多個線程或進程。以下是一個簡單的示例:
import asyncio
async def delayed_command(delay, message):
print(f"Waiting for {delay} seconds...")
await asyncio.sleep(delay)
print(message)
async def main():
# 創建一個任務列表,其中包含要并發執行的延遲命令
tasks = [
asyncio.create_task(delayed_command(1, "Task 1 completed.")),
asyncio.create_task(delayed_command(2, "Task 2 completed.")),
asyncio.create_task(delayed_command(3, "Task 3 completed."))
]
# 等待所有任務完成
await asyncio.gather(*tasks)
# 運行事件循環
asyncio.run(main())
在這個示例中,我們定義了一個名為delayed_command
的異步函數,它接受一個延遲時間(以秒為單位)和一個消息。函數使用await asyncio.sleep(delay)
來模擬延遲執行,然后打印完成消息。
在main
函數中,我們創建了一個任務列表,其中包含要并發執行的delayed_command
協程。然后,我們使用asyncio.gather(*tasks)
來等待所有任務完成。最后,我們使用asyncio.run(main())
來運行事件循環并執行主函數。