- Python 中的异步是根据loop 来实现的,看代码:
import asyncio
import requests
class Async_requests(object):
"""异步请求"""
async def get(self,url):
return requests.get(url)
async def reqt(self,url):
response = await self.get(url)
return response
def start_one_async(self,url):
task = asyncio.ensure_future(self.reqt(url))
loop = asyncio.get_event_loop()
loop.run_until_complete(task)
return task.result()
def start_many_async(self,url):
tasks = [asyncio.ensure_future(self.reqt(url)) for _ in range(10)]
loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(tasks))
return [task.result() for task in tasks]
if __name__ == '__main__':
url = "http://www.baidu.com"
ret=Async_requests().start_one_async(url)
ret1 = Async_requests().start_many_async(url)
print(ret)
print(ret1)