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,但是收到数据的先后顺序不一定与发送顺序相同,这也就体现出了异步,即不确定什么时候会收到数据,顺序不一定

  • 相关阅读:
    【noiOJ】p1759
    【noiOJ】p1481
    【noiOJ】p6253
    【noiOJ】p1794
    【noiOJ】p1776
    【noiOJ】p8210
    【noiOJ】p7939
    【noiOJ】p7914(..)
    【noiOj】p8207(233)
    鸟哥的linux私房菜——第六章学习(Linux文件与目录管理)
  • 原文地址:https://www.cnblogs.com/georgexu/p/11204736.html
Copyright © 2011-2022 走看看