Python实现队列同步的方法是什么

  介绍

小编给大家分享一下Python实现队列同步的方法是什么,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

<强>队列

=队列。队列(最大容量=10)创建一个“队”列对象.Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过队列的构造函数的可选参数最大尺寸来设定队列长度。如果最大容量小于1就表示队列长度无限。

q.put()方法在队尾插入一个项目.put()有两个参数,第一个项目为必需的,为插入项目的值;第二个街区为可选参数,默认为1。如果队列当前为空且块为1,把()方法就使调用线程暂停,直到空出一个数据单元。如果块为0,把方法将引发全异常。

。得到([块[,超时]])方法从队头删除并返回一个项目。可选参数为块,默认为真的。如果队列为空且块为真,得到()就使调用线程暂停,直至有项目可用。如果队列为空且块为False,队列将引发空异常,超时等待时间。

q.qsize()返回队列的大小

q.empty()如果队列为空,返回真,反之假

q.full()如果队列满了,返回真,反之假

。完全与最大容量大小对应

q.get_nowait()相当q.get (False)

q.put_nowait(项)相当q。(项目,假)

q.task_done()在完成一项工作之后,q.task_done()函数向任务已经完成的队列发送一个信号

q.join()实际上意味着等到队列为空,再执行别的操作

import 队列   时间=d  queue.Queue ()   d.put (& # 39; 1 & # 39;)   d.put (& # 39; 2 & # 39;)   d.put (& # 39; 3 & # 39;)   print (d.get ())   print (d.get ())   print (d.get ())   print (d.get ())   打印(d.get (0))

运行结果:

1   2   3

报错:

队列。空

线程操作列表是不安全的。

import 线程、时间   时间=li  [1,, 2,, 3,, 4,, 5]   def  pri ():   ,,,while 李:   ,,,,,,,a =, li  [1]   ,,,,,,,印刷(a)   ,,,,,,,time . sleep (1)   ,,,,,,,试一试:   ,,,,,,,,,,,li.remove (a)   ,,,,,,,除了:   ,,,,,,,,,,,印刷(& # 39;- - - - - - - - - - - # 39;,,)   t1 =, threading.Thread(目标=革命制度党,arg游戏=())   t1.start ()   t2 =, threading.Thread(目标=革命制度党,arg游戏=())   t2.start ()

运行结果:

5   5   4   ——安康;5   4   3.   ——安康;4   3.   2   ——安康;3   2   1   ————安康;2   1   ——安康;1 import 线程、队列   得到time  import 睡眠   得到random  import  randint   class 生产(threading.Thread):   ,,,def 运行(自我):   ,,,,,,,while 正确的:   ,,,,,,,,,,,r =, randint (0, 100)   ,,,,,,,,,,,q.put(右)   ,,,,,,,,,,,印刷(“生产出来,% s 号包子“,% r)   ,,,,,,,,,,,睡眠(1)   class 过程(threading.Thread):   ,,,def 运行(自我):   ,,,,,,,while 正确的:   ,,,,,,,,,,,re =, q.get ()   ,,,,,,,,,,,印刷(& # 39;吃掉,% s号包子& # 39;,%再保险)   if  __name__ ==, & # 39; __main__ # 39;:   ,,,q =, queue.Queue (10)   ,,,threads =,(生产(),(),(),生产过程())   ,,,for  t 拷贝线程:   ,,,,,,,t.start ()

运行结果:

生产出来,94,号包子   生产出来,13,号包子   生产出来,79,号包子   吃掉,94号包子   吃掉,13号包子   吃掉,79号包子   生产出来,43,号包子   吃掉,43号包子   生产出来,32,号包子   吃掉,32号包子   ……

看完了这篇文章,相信你对Python实现队列同步的方法是什么有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

Python实现队列同步的方法是什么