由于进程之间无法共享数据,有时候需要进行数据通信,有多种方法可以实现,常用的是Queue方法

Queue的常用方法:

  1. Queue(n):初始化一个消息队列,n为指定这个队列中最多能容纳多少条消息,如果不指定就是-1,可以无限添加进入队列直到内存满为止。
  2. put(obj,[block[,timeout]]):推入一条消息到这个队列中。默认是阻塞的,也就是说如果这个消息队列中已经满了,那么会会一直等待,将这个消息添加到消息队列中。timeout可以指定这个阻塞最长的时间,如果超过这个时间还是满的,就会抛出异常。

Put方法可以传递任何数据类型的参数

  • put_nowait() :非阻塞的推入一条消息,如果这个队列已经满了,那么会立马抛出异常。等价于put中block参数=False
  • qsize():获取这个消息队列消息的数量。
  • full():判断这个消息队列是否满了。

True为满,False为不满

  • empty():判断这个消息队列是否空了。

True为空,False为不空

  • get([block[,timeout]]):获取队列中的一条消息,然后将其从队列中移除,block默认为True。如果设置block为False,那么如果没值,会立马抛出异常。timeout指定如果多久没有获取到值后会抛出异常。

获取到的是第一个添加的值