lor*_*llo 8 python multithreading python-asyncio aiohttp
我写了这段代码:
import asyncio
import threading
from aiohttp import ClientSession
async def fetch(url):
async with ClientSession() as session:
async with session.get(url) as response:
response = await response.read()
print(threading.current_thread().name)
loop = asyncio.get_event_loop()
tasks = [asyncio.ensure_future(fetch("http://example.com")) for i in range(5)]
loop.run_until_complete(asyncio.wait(tasks))
Run Code Online (Sandbox Code Playgroud)
它每次打印出"MainThread".这是否意味着所有请求都是使用相同的主线程并发执行的,并且它不是使用线程池中的线程来执行每个请求,还是被抽象的线程?
这篇文章似乎表明,事实上有一个Python用于这些异步任务的线程池:http: //skipperkongen.dk/2016/09/09/easy-parallel-http-requests-with-python-and-asyncio /
归档时间: |
|
查看次数: |
2826 次 |
最近记录: |