我有以下代码import asyncio
import aiohttp
urls = [
'http://54.224.27.241',
'http://54.224.27.241',
'http://54.224.27.241',
'http://54.224.27.241',
'http://54.224.27.241',
]
async def query(urls):
out = []
with aiohttp.ClientSession() as session:
for url in urls:
try:
async with session.get(url, timeout=5) as resp:
text = await resp.text()
out.append(resp.status)
except:
print('timeout')
return out
loop = asyncio.get_event_loop()
out = loop.run_until_complete(query(urls))
loop.close()
print(str(out))
该代码比使用线程池的代码慢得多,并且如果增加url的数量(比如20、50等),代码会不断增加
我有一种感觉,当初始连接建立不是以异步方式完成时。在
(请注意,我在这里连接到一个不存在的服务器以故意产生连接超时)。在
有人能指出这里出了什么问题吗?在