用python实现队列,python循环队列的实现

  用python实现队列,python循环队列的实现

  

  队列

  Q=队列。Queue(maxsize=10)来创建一个“Queue”对象。排队。队列类是队列的同步实现。队列长度可以是或有限的。队列长度可以通过Queue构造函数的可选参数maxsize来设置。如果maxsize小于1,则表示队列长度。

  q.put()方法在队列末尾插入一个项目。Put()有两个参数,第一项是必需的,是插入项的值;第二个块是可选参数,默认为1。如果队列当前为空,块为1,put()方法会使调用线程暂停,直到数据单元为空。如果block为0,put方法将抛出一个完整的异常。

  q.get([block[,timeout]])方法从队列头删除并返回一个项目。可选参数为block,默认值为True。如果队列为空,block为True,get()会使调用线程暂停,直到有一个项目可用。如果队列为空且block为False,队列将抛出一个空异常,超时等待时间。

  Q.qsize()返回队列的大小。

  如果队列为空,Q.empty()返回True,否则返回False。

  如果队列已满,Q.full()返回True,否则返回False。

  Q.full对应于maxsize的大小

  Q.get_nowait()等价于q.get(False)

  Q.put_nowait(item)等价于q.put(item,False)

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

  Q.join()实际上意味着在执行其他操作之前一直等到队列为空。

  导入队列

  d=队列。队列()

  d.put(1 )

  d.put(2 )

  d.put(3 )

  print(d.get())

  print(d.get())

  print(d.get())

  print(d.get())

  Print(d.get(0))运行结果:

  一个

  2

  3错误报告:

  排队。空线程操作列表不安全。

  相关:《Python视频教程》

  导入线程,时间

  李=[12345]

  defpri():

  whileli:

  a=李[-1]

  打印(一份)

  时间.睡眠(1)

  尝试:

  李. remove(一)

  例外:

  打印(-,a)

  t1=线程。线程(target=pri,args=())

  t1.start()

  t2=线程。线程(target=pri,args=())

  T2.start()运行结果3360

  五

  五

  四

  - 5

  四

  三

  - 4

  三

  2

  - 3

  2

  一个

  - 2

  一个

  -1导入线程,队列

  fromtimeimportsleep

  fromrandomimportrandint

  classProduction(线程。螺纹):

  defrun(self):

  whileTrue:

  r=randint(0,100)

  put(r)

  打印(生产的%s包子 %r )

  睡眠(1)

  classProces(线程。螺纹):

  defrun(self):

  whileTrue:

  re=q.get()

  打印(吃%s包子 %re )

  if__name__==__main__:

  q=队列。队列(10)

  线程=[生产()、生产()、生产()、处理()]

  fortinthreads:

  T.start()运行结果3360

  生产94号包子。

  出产13号包子。

  出产79号包子。

  吃94号馒头

  吃13号馒头

  吃79号馒头

  出产43号包子。

  吃43号馒头

  出产32号包子。

  吃32号馒头

  .相关建议:

  如何在Python中实现线程条件同步

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: