Python的Queue模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue。这些队列都实现了锁原语,能够在多线程中直接使用。可以使用队列来实现线程间的同步。

import threading
import time
from Queue import Queue
class Producer(threading.Thread):def run(self):global queuecount=0while True:for i in range(100):if queue.qsize()>1000:passelse:count=count+1msg='produce'+str(count)queue.put(msg)print msgtime.sleep(1)
class Consumer(threading.Thread):def run(self):global queuewhile True:for i in range(3):if queue.qsize()<100:passelse:msg=self.name+'consume'+queue.get()print msgtime.sleep(1)
queue=Queue()
def test():for i in range(500):queue.put('init produce'+str(i))for i in range(2):p=Producer()p.start()for i in range(5):c=Consumer()c.start()
if __name__=='__main__':test()

Python队列同步相关推荐

  1. Python线程同步机制: Locks, RLocks, Semaphores, Condition

    为什么80%的码农都做不了架构师?>>>    翻译自Laurent Luce的博客 原文名称:Python threads synchronization: Locks, RLoc ...

  2. python 多线程同步锁之实现停车场业务(2)

    这边文章是实现同时有车辆出去,又有车辆进来的业务逻辑,和现实的差不多 真正要和现实中的一样,只需要更改休眠时间就可,通过调节修改时间,动态实现 之前的代码 python 多线程同步锁之实现停车场业务( ...

  3. 《Python全栈开发:Python 队列(queue)》

    一.Python 队列(queue) Python的Queue模块中提供了同步的.线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列Pr ...

  4. python队列_Python队列

    python队列 In our previous tutorial we have discussed about python time sleep function of the time mod ...

  5. 不逼自己一把都不知道自己还能这么优秀(小鹅通学习记录大批量队列同步)

    不逼自己一把都不知道自己还能这么优秀-小鹅通学习记录大批量队列同步实战日志 前言 一.编程语言介绍 1.php是世界上最好的语言 2.第三方API对接的苦恼 3.为什么说好的项目进度表都是画饼 二.炫 ...

  6. c++ 优先队列_什么是队列?(Python队列)

    什么是队列?(Python队列) 前言 上篇文章介绍了 Python 中的多线程​mp.weixin.qq.com .今天来介绍下编程中常会用到的一个数据结构 - 队列. 不知道大家是否还记得什么是数 ...

  7. python 线程同步_Python 线程同步

    zhoushixiong Python 线程同步 以下代码可以直观展示加锁和不加锁时,对数据修改情况. 加锁时 # -*-* encoding:UTF-8 -*- # author : shoushi ...

  8. python队列只能一个个读取吗_python队列Queue的详解

    Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO队列 clas ...

  9. python多线程同步

    python多线程同步 作者:vpoet 日期:大约在夏季 1 import threading 2 import time 3 mylock = threading.RLock() 4 num=0 ...

最新文章

  1. 怎么修改云服务器项目路径,云服务器tomcat的项目路径怎么设置
  2. 老司机又开车(来不及解释,快上!)之秒懂单片机指针!
  3. 软件成本度量方法及CMMI V2.0,你Get到了吗?
  4. SqlServer用户数据库的系统视图sysobjects、syscolumns、systypes
  5. org.apache.hadoop.hbase.NotServingRegionException: hbase:meta,,1 is not online问题(暂时没有解决)
  6. Hadoop相关技术
  7. python正则表达式,常用参数
  8. python面向对象作业_面向对象作业
  9. 15天玩转redis —— 第四篇 哈希对象类型
  10. 抛开时代背景,任何技术讨论都是瞎耽误功夫
  11. Android安全测试框架Drozer(安装篇)
  12. HUAWEIWATCH GT3有哪些功能?华为新款手表测评
  13. Unicode汉字内码表1
  14. Jmeter介绍与使用
  15. IIR数字滤波器设计(数字信号处理)
  16. 英文个人简历中英文词汇对照大全
  17. Git合并操作之merge、rebase、squash详解
  18. David P.Williams论文系列 合成孔径声纳图像快速目标检测:一种新算法及大规模性能分析
  19. 【JS篇】禁止手机默认键盘弹出
  20. 光隔离器的工作原理及其应用

热门文章

  1. 医案留影——乳腺增生
  2. html字号24怎么设置,css怎么设置字体大小
  3. ibm 小型机hmc地址——P5 P6 差别
  4. EF中的DBFirst实例(上)
  5. 【转】TI达芬奇(DaVinci)技术
  6. skywalking源码--探针插件开发
  7. Mysql数据库版本升级5.5---5.7
  8. html的一些基本语法学习与实战
  9. app图标角标产品设计_APP图标设计小技巧!
  10. MOOC程序设计入门——C语言(翁恺)第五周编程作业“念整数”