python异步编程async await
时间: 2023-09-05 19:14:36 浏览: 81
异步编程是一种编程模式,它允许程序在等待某些操作完成时继续执行其他任务,而不是阻塞整个程序的执行。Python中的异步编程可以使用`async`和`await`关键字来实现。
`async`关键字用于定义一个异步函数,这个函数可以使用`await`关键字来挂起自身的执行,等待其他的异步操作完成后再继续执行。
下面是一个简单的例子,展示了如何使用`async`和`await`来实现异步编程:
```python
import asyncio
async def async_task():
print("异步任务开始")
await asyncio.sleep(1) # 模拟耗时操作
print("异步任务结束")
async def main():
print("主程序开始")
await asyncio.gather(async_task(), async_task()) # 并发执行两个异步任务
print("主程序结束")
asyncio.run(main())
```
在上面的例子中,我们定义了一个异步函数`async_task()`,它会打印一些信息,然后使用`await asyncio.sleep(1)`来模拟一个耗时操作。然后我们定义了另一个异步函数`main()`,它会并发地执行两个`async_task()`函数。最后,在`asyncio.run(main())`中运行主程序。
通过运行上面的代码,你会看到输出的顺序是"主程序开始" -> "异步任务开始" -> "异步任务开始" -> "异步任务结束" -> "异步任务结束" -> "主程序结束"。可以看到,在执行异步任务时,主程序不会被阻塞,而是继续执行其他任务。
异步编程在处理I/O密集型任务时特别有用,因为它可以充分利用等待I/O操作完成的时间,同时执行其他任务,提高程序的性能和响应性。