import asyncio
import time 

async def request(url):
    print('正在下载',url)
    #在异步协程中如果出现了同步模块相关的代码,那么就无法实现异步.
    #time.sleep(2)
    #当在asyncio中遇到阻塞相关的操作必须进行手动挂起
    await asyncio.sleep(2)
    print('下载完毕',url)

start = time.time()

urls = [
    'www.baidu.com',
    'www.sogou.com',
    'www.goubanjia.com'
]


#任务列表:存放多个任务对象
stasks = []
for url in urls:

    c = request(url)
    task = asyncio.ensure_future(c)
    stasks.append(task)
loop = asyncio.get_event_loop()
#需要将任务列表封装到wait中
loop.run_until_complete(asyncio.wait(stasks))

print(time.time()-start)

相关文章:

  • 2022-02-22
  • 2021-06-03
  • 2021-09-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-25
猜你喜欢
  • 2022-02-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-25
  • 2021-11-08
  • 2022-12-23
相关资源
相似解决方案