python实现定时器异步编程
时间: 2024-06-22 16:02:37 浏览: 316
Python中实现定时器异步编程通常使用`asyncio`库,这是标准库的一部分,专为编写并发和异步代码设计的。`asyncio`库提供了`asyncio.sleep()`函数,用于设置延迟,以及事件循环(如`asyncio.get_event_loop().run_until_complete()`)来执行异步任务。
以下是一个简单的例子,展示了如何使用`asyncio`创建一个定时器:
```python
import asyncio
# 定义一个异步任务
async def timer_task(delay):
print(f"Starting task after {delay} seconds.")
await asyncio.sleep(delay)
print(f"Task completed after {delay} seconds.")
# 创建一个事件循环
async def main():
# 设置定时器为3秒
delay = 3
timer = asyncio.create_task(timer_task(delay))
try:
# 等待定时器完成
await timer
except KeyboardInterrupt:
print("Timer stopped by user.")
# 运行主函数
if __name__ == "__main__":
asyncio.run(main())
```
在这个例子中,`timer_task`是一个异步函数,我们使用`asyncio.create_task()`创建一个任务并将其放入事件循环中。`asyncio.run()`会启动事件循环并运行我们的主函数,直到所有任务完成或遇到中断(例如按Ctrl+C)。
阅读全文