• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

关闭

返回栏目

关闭

返回python栏目

114 - 第三方库 - asyncio - 异步方法

作者:

贺及楼

成为作者

更新日期:2024-10-28 10:58:44

asyncio异步方法

asyncio库的简介

Python 的 asyncio 是一个用于编写单线程并发代码的库,它使用 async/await 语法来创建和管理协程。asyncio 提供了事件循环、协程、任务和异步I/O的概念,使得I/O密集型和高级别的结构化网络代码可以并发运行,而不会牺牲性能。

它允许在单线程内高效地执行并发操作,特别适用于处理大量的网络连接和I/O操作,如Web服务器、客户端、网关等。

asyncio 通过非阻塞I/O和异步编程,提高了程序的响应速度和吞吐量,是Python异步编程的核心库。

使用异步 asyncio 例子

  1. import time
  2. import asyncio
  3. # 定义异步函数
  4. async def hello():
  5. asyncio.sleep(1)
  6. print(time.time())
  7. def run():
  8. for i in range(5):
  9. loop.run_until_complete(hello())
  10. loop = asyncio.get_event_loop()
  11. if __name__ =='__main__':
  12. run()
  1. 1527595104.8338501
  2. 1527595104.8338501
  3. 1527595104.8338501
  4. 1527595104.8338501
  5. 1527595104.8338501

async def 用来定义异步函数,其内部有异步操作。
每个线程有一个事件循环,主线程调用asyncio.get_event_loop()时会创建事件循环
你需要把异步的任务丢给这个循环的run_until_complete()方法,事件循环会安排协同程序的执行。