python_协程
樱满黑须
这个作者很懒,什么都没留下…
展开
-
生成器模式的协程
#生成器模式的协程,这个生成器其实本身就是协程def consumer(): n = 0 while True: n = yield n #n= 1 ,yield 1 (由于没有print(send(n)),所以yield1不输出,),挂起n下次继续从这里执行 if n is not None and n > 0: pr...转载 2019-01-06 21:49:14 · 176 阅读 · 0 评论 -
async await协程——判断是否是协程
import asynciofrom collections.abc import Coroutine# 协程的产生方式async方式(推荐使用这种方式)async def myCor(): print('这是我的协程') await asyncio.sleep(2) print('我执行完异步io操作后又回来')a= myCor()#判断是否是协程方法1print...转载 2019-01-06 21:51:01 · 1472 阅读 · 0 评论 -
async协程格式
部分待掌握概念 event_loop 事件循环:程序开启一个无限的循环,程序员会把一些函数注册到事件循环上。当满足事件发生的时候,调用相应的协程函数。 coroutine 协程:协程对象,指一个使用async关键字定义的函数,它的调用不会立即执行函数,而是会返回一个协程对象。协程对象需要注册到事件循环,由事件循环调用。 task 任务:一个协程对象就是一个原生可以挂起的函数...转载 2019-01-06 21:54:08 · 295 阅读 · 0 评论 -
async协程嵌套
协程嵌套import asyncioimport timenow = lambda: time.time()async def do_some_work(x): print('Waiting: ', x) await asyncio.sleep(x) return 'Done after {}s'.format(x)#将协程的工作内容放进一个函数里,将这个函数添加进...转载 2019-01-06 21:55:32 · 1108 阅读 · 1 评论 -
装饰器版协程
装饰器版协程import threadingimport asyncio#①添加装饰器之后函数变为协程@asyncio.coroutinedef hello(): print('Hello world! (tid: %s)' % threading.currentThread().ident) yield from asyncio.sleep(3) # 模拟异步执行耗时任务。y...转载 2019-01-06 21:56:51 · 405 阅读 · 0 评论