温馨提示×

python延迟命令能实现并发执行吗

小樊
81
2024-11-30 13:02:38
栏目: 编程语言

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

0