zoukankan      html  css  js  c++  java
  • 多任务协程01

    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)
    
  • 相关阅读:
    vue基础知识
    git的创建使用
    使用express搭建服务器框架
    日常训练
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
  • 原文地址:https://www.cnblogs.com/gerenboke/p/13389128.html
Copyright © 2011-2022 走看看