import time
import asyncio
from concurrent.futures import ThreadPoolExecutor
def long_blocking_function():
print(time.time())
time.sleep(2)
return True
async def run():
loop = asyncio.get_event_loop()
# 新建线程池
pool = ThreadPoolExecutor()
# 任务列表
tasks = [loop.run_in_executor(pool, long_blocking_function),
loop.run_in_executor(pool, long_blocking_function)]
# 等待所有任务结束并返回
return await asyncio.gather(*tasks)
if __name__ == '__main__':
# 获取新的事件循环
loop = asyncio.new_event_loop()
# 设置当前事件循环
asyncio.set_event_loop(loop)
now = time.time()
loop.run_until_complete(run())
print(time.time() - now)