python并发编程之asyncio协程(三)
协程实现了在单线程下的并发,每个协程共享线程的几乎所有的资源,除了协程自己私有的上下文栈;协程的切换属于程序级别的切换,对于操作系统来说是无感知的,因此切换速度更快、开销更小、效率更高,在有多IO操作的业务中能极大提高效率。 系列文章 python并发编程之threading线程(一) python并发编程之multiprocessing进程(二) python并发编程之asyncio协程(三) python并发编程之gevent协程(四) python并发编程之Queue线程、进程、协程通信(五) python并发编程之进程、线程、协程的调度原理(六) asyncio模块创建协程 asyncio在python3.4后被内置在python中,使得python的协程创建变得更加方便。 import asyncio import os # async 关键字定义一个协程 async def target_func1(): print('the func start') print(os.getpid()) print('the func end') def run(): # 创建一个协程对象 coroutine = target_func1() # 创建一个事件循环 loop = asyncio.get_event_loop() loop.run_until_complete