• 队列中常用方法的使用


    • Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。put方法用以插入数据到队列中,put方法还有两个可选参数:blockedtimeout。如果blockedTrue(默认值),并且timeout为正值,该方法会阻塞timeout指定的时间,直到该队列有剩余的空间。如果超时,会抛出Queue.full异常。如果blockedFalse,但该Queue已满,会立即抛出Queue.full异常。

    • get方法可以从队列读取并且删除一个元素。同样,get方法有两个可选参数:blockedtimeout。如果blockedTrue(默认值),并且timeout为正值,那么在等待时间内没有取到任何元素,会抛出Queue.Empty异常。如果blockedFalse,有两种情况存在,如果Queue有一个值可用,则立即返回该值,否则,如果队列为空,则立即抛出Queue.Empty异常。

    •  1 from multiprocessing import Queue
       2 #创建一个队列
       3 q = Queue(3) #可以指定队列的大小,如果不写,默认的队列是无限的
       4 q.put('消息1')
       5 q.put('消息2')
       6 q.put('消息3')
       7 #put方法中可选参数,block=True,timeout=1队列已经满了,等待1s
       8 #若还是没有空余空间,则抛出异常。
       9 #q.put('消息4',block=True,timeout=1)
      10 #判断当前队列是否已满
      11 print('判断当前队列是否已满:',q.full())
      12 if not q.full():
      13     q.put('消息4')
      14 #读取并删除元素get
      15 #print(q.get())
      16 #print(q.get())
      17 #print(q.get())
      18 if not q.empty():
      19     print(q.get(block=True,timeout=1))
      20 #查看队列的大小
      21 print('队列的大小:',q.qsize())
      22 for i in range(q.qsize()):
      23     print(q.get())
      1 判断当前队列是否已满: True
      2 消息1
      3 队列的大小: 2
      4 消息2
      5 消息3
    正是江南好风景
  • 相关阅读:
    「读书感悟」三体
    「PLC」PLC基本编程
    利用一个Demo说明Castle+NHibernate的实现
    采用jquery实现简单的计算器
    Html+css+Jquery模拟电影院购票
    Jquery实现简单的导航单并且经常使用
    H5的video元素实现的Demo
    JQuery编写的定时器实现时钟
    Castle.net
    1056. 组合数的和(15)
  • 原文地址:https://www.cnblogs.com/monsterhy123/p/12676259.html
Copyright © 2020-2023  润新知