asyncio 库 async/await

加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


你可能感兴趣的:(python)