是的,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())
来运行事件循环并执行主函数。