加await(yield from)的意思是说,主UI等待它执行完成后,再继续执行,这种就叫作并行
【asyncio】async 异步
直接获取EventLoop的引用(get_event_loop()),把需要执行的协程放到EventLoop中运行(run_until_complete(协程)),实现异步IO。
import asyncio
@asyncio.coroutine #会把函数标记为coroutine类型
def hello():
print('hello world')
#异步调用asyncio.sleep(1)
r=yield from asyncio.sleep(1)
print('again')
#获取EnventLoop
loop=asyncio.get_event_loop()
#需要执行的协程放到loop中
loop.run_until_complete(hello())
loop.close()
**注意:如果测试程序命名为asyncio.py 会报错!
异步操作需要在coroutine中通过 yield from 完成,yield from语法可以让我们方便调用另一个generator
【async/await】
python3.5
@asyncio.coroutine ---变成---->async
yield from---------变成---------->await