在python3.4之后,增加了对异步io的支持,引入了asyncio的模块支持,下面就简单的使用一下asyncio,
1.无回调函数的简单使用:
首先我们先模拟一个请求http的操作,定义一个协程:
#coding=utf-8
import asyncio
async def request_html(url):
print('获取html中')
await asyncio.sleep(2)
print(url)
async是一个关键词,用来定义协程,await asyncio.sleep(2),模拟阻塞2秒,由于属于异步io操作,所以传统的time.sleep(2)的调用会导致同步的等待2秒,比如你使用10个协程去完成异步操作,time.sleep会耗掉10*2秒时间进行操作,使用await asyncio.sleep(2)会耗掉2秒多的时间操作,所以使用了time.sleep就无法享受到异步的好处,然后我们开始主函数里面进行调用
if __name__ == '__main__':
start_time = time.time()
#无回调的使用方法
loop = asyncio.get_event_loop()#我们知道协程的使用是需要在循环体中进行使用的,asyncio里面自定义了loop来进行使用asyncio.get_event_loop()来获取loop。
tasks = [request_htm