
Python 的 asyncio 是一个用于编写单线程并发代码的库,它使用 async/await 语法来创建和管理协程。asyncio 提供了事件循环、协程、任务和异步I/O的概念,使得I/O密集型和高级别的结构化网络代码可以并发运行,而不会牺牲性能。
它允许在单线程内高效地执行并发操作,特别适用于处理大量的网络连接和I/O操作,如Web服务器、客户端、网关等。
asyncio 通过非阻塞I/O和异步编程,提高了程序的响应速度和吞吐量,是Python异步编程的核心库。
import timeimport asyncio# 定义异步函数async def hello():asyncio.sleep(1)print(time.time())def run():for i in range(5):loop.run_until_complete(hello())loop = asyncio.get_event_loop()if __name__ =='__main__':run()
1527595104.83385011527595104.83385011527595104.83385011527595104.83385011527595104.8338501
async def 用来定义异步函数,其内部有异步操作。
每个线程有一个事件循环,主线程调用asyncio.get_event_loop()时会创建事件循环
你需要把异步的任务丢给这个循环的run_until_complete()方法,事件循环会安排协同程序的执行。