asyncio的使用
async用来定义协程
await asyncio.sleep(2),属于异步io操作,无论多少个协程都只花2秒时间操作
time.sleep(2)的一次调用会导致同步的等待2秒,如果有n个协程去完成异步操作,time.sleep将会耗掉2*n秒 意思就是time.sleep不好使用协程同步协作,而是依次进行
import asyncio
async def request_html(par):
print(‘任务开始 %s…’ % par)
def callback(res):
print(‘成功后执行这里’)
if name == ‘main’:
loop = asyncio.get_event_loop() #创建一个事件循环
task = loop.create_task(request_html(‘http请求’))#创建task
task.add_done_callback(callback)#执行完成的时候,就会调用回调函数。并通过参数进行回调callback为方法名
loop.run_until_complete(task) #将协程注册到事件循环,并启动事件循环