zoukankan      html  css  js  c++  java
  • 并发下载器

    from gevent import monkey
    import gevent
    import urllib.request
    
    # 有耗时操作时需要
    monkey.patch_all()
    
    def my_downLoad(url):
        print('GET: %s' % url)
        resp = urllib.request.urlopen(url)
        data = resp.read()
        print('%d bytes received from %s.' % (len(data), url))
    
    gevent.joinall([
            gevent.spawn(my_downLoad, 'http://www.baidu.com/'),
            gevent.spawn(my_downLoad, 'http://www.itcast.cn/'),
            gevent.spawn(my_downLoad, 'http://www.itheima.com/'),
    ])
    

    运行结果

    GET: http://www.baidu.com/
    GET: http://www.itcast.cn/
    GET: http://www.itheima.com/
    111327 bytes received from http://www.baidu.com/.
    172054 bytes received from http://www.itheima.com/.
    215035 bytes received from http://www.itcast.cn/.
    

    从上能够看到是先发送的获取baidu的相关信息,然后依次是itcast、itheima,但是收到数据的先后顺序不一定与发送顺序相同,这也就体现出了异步,即不确定什么时候会收到数据,顺序不一定

  • 相关阅读:
    新人讲解
    为人处世
    项目管理
    读书
    游戏
    总结反思
    地图相关
    产品经理
    摄影
    Java 邮件发送
  • 原文地址:https://www.cnblogs.com/georgexu/p/11204736.html
Copyright © 2011-2022 走看看