1 # -*- coding:utf-8 -*-
 2 #! /usr/bin/env python
 3 '''
 4 Created on 2014年9月2日
 5 '''
 6 import gevent
 7 from gevent.queue import Queue, Empty
 8 import random
 9
10 links = Queue(maxsize=5)
11
12 def downloader(pThread):
13     try:
14         while True:
15             link = links.get()
16             gevent.sleep(random.randint(1,6)*0.001)
17             print("%s: %s has been downloaded!" % (pThread,link))
18     except Empty:
19         print("Has no picture link in Queue! All done!")
20
21 def getLinks():
22     for i in xrange(1,500):
23         links.put("http://baidu.com/%s.jpg" % i)
24     print("Assigned all work in iteration 1")
25
26
27
28 pThreads = [gevent.spawn(downloader,"pThread%s" % i) for i in xrange(10)]
29
30 # gevent.spawn(getLinks).join()    #为何报错?
31 # gevent.joinall(pThreads)
32
33 gevent.joinall([gevent.spawn(getLinks)].extend(pThreads))

转载于:https://www.cnblogs.com/ajucs/p/3951862.html

gevent queue应用2 队列设置了最大数量限制相关推荐

  1. 【Android 异步操作】HandlerThread 示例 ( 初始化并执行 | 获取Looper | 获取 Handler | 获取消息队列 | 设置空闲队列 | 代码示例 )

    文章目录 一.HandlerThread 初始化 二.HandlerThread 获取Looper 三.HandlerThread 获取消息队列 MessageQueue 四.HandlerThrea ...

  2. 【Python爬虫学习笔记11】Queue线程安全队列和GIL全局解释器锁

    Queue线程安全队列 在Python多线程编程中,虽然threading模块为我们提供了Lock类和Condition类借助锁机制来处理线程并发执行,但在实际开发中使用加锁和释放锁仍是一个经常性的且 ...

  3. dispatch_queue_set_specific给队列设置特有数据

    想要让某个任务在指定队列中以同步的方式执行完后, 继续执行其他任务. 这样说有点抽象, 举个具体的例子, 在队列A中执行任务1, 任务1完成后到串行队列B中执行任务2, 任务2完成后再回到队列A执行后 ...

  4. gevent queue应用1

    1 # -*- coding:utf-8 -*- 2 #! /usr/bin/env python 3 ''' 4 Created on 2014年9月2日 5 ''' 6 import gevent ...

  5. (P85)stl(十三):容器适配器,stack,queue,优先级队列priority_queue,make_heap

    文章目录 1.容器适配器 2.stack 3.queue 4.优先级队列priority_queue 5.make_heap 6.set 1.容器适配器 利用基本容器构造的容器,称之为容器适配器 基本 ...

  6. JavaScript实现countSetBits设置位的数量算法(附完整源码)

    JavaScript实现countSetBits设置位的数量算法(附完整源码) countSetBits.js完整源代码 countSetBits.js完整源代码 export default fun ...

  7. 监控 线程 php,Linux平台PHP5.4设置FPM线程数量的方法

    本文实例讲述了Linux平台PHP5.4设置FPM线程数量的方法.分享给大家供大家参考,具体如下: PHP5.4安装完毕后,FPM的默认配置文件位于/usr/local/php/etc/php-fpm ...

  8. Android recycleview使用详解,recycleview实现九宫格布局即横向排列,recycleview设置item占位数量大号item或小号item

    1.添加recycleview依赖 compile('com.android.support:recyclerview-v7:25.1.1') {force = true } 2.item.xml & ...

  9. 传奇假人自动上线_传奇在哪里设置假人上线数量

    打的时候,法师和道士可以利用小怪来解决boss,战士就不需要了.打的时候,将小怪引过来包围,然后boss是无法攻击到我们,而我们可以利用地形走位来讲boss杀死.但是如果你的等级比较低,又是法师的话, ...

最新文章

  1. HDU——1106排序(istringstream的使用、STLvector练习)
  2. K - Anton and Lines CodeForces - 593B
  3. 从1G到5G,从回顾过去到展望未来
  4. Visual Studio 2013开发 mini-filter driver step by step 内核中使用线程(7)
  5. html台风路径,常用气象网站功能简介
  6. 设计出python_Python: 实际项目中抽象出的小项目设计
  7. 带有静态方法的类(java中的math类)
  8. csp-s模拟测试41「夜莺与玫瑰·玫瑰花精·影子」
  9. 学习vim的正确姿势!
  10. eclipse工程运行正常但是工程有红叉的问题
  11. 基于CentOS构建高功能的LAMP平台
  12. c++类之间的基本关系
  13. 冒泡排序(C语言代码介绍)
  14. Python语法糖系列
  15. 4python小项目---# 体脂率计算
  16. 阿里云天池《“AI Earth”人工智能创新挑战赛》萌新体验
  17. TOP100summit:【分享实录】爆炸式增长的斗鱼架构平台的演进
  18. 股票内参|港股暴力拉升 恒生科技指数大涨
  19. CAD经典版本界面设置
  20. Zero-shot Cross-lingual Transfer of Prompt-based Tuning with a Unified Multilingual Prompt

热门文章

  1. selenium 无法定位打开a链接_测试干货 :Selenium8种元素定位法
  2. windows python 访问mtp存储空间_Python 3.7 已上架 Microsoft Store,让你 轻松使用 Python...
  3. ios 自动布局框架
  4. npm install react-native-video --save
  5. python反射机制_详解python之反射机制
  6. Linux安全漏洞审计工具Lynis
  7. 反向代理服务器(Reverse Proxy)
  8. php从入门到精通19天笔记,传智播客-PHP从入门到精通(19天)-video
  9. qchart画完以后删除_画错了,重新画一幅吧!”这句话对学画画的孩子来说,伤害有多大?...
  10. python如何启动app_Python手机app爬虫|Airtest连接多个手机的时候,如何启动APP-start_app...