建立可链接的共享进程队列。这就像是一个Queue对象,但队列容许项目的使用者通知生产者项目已经被成功处理。通知进程是使用共享的信号和条件变量来实现的。python
q.task_done()
:使用者使用此方法发出信号,表示q.get()返回的项目已经被处理。若是调用此方法的次数大于从队列中删除的项目数量,将引起ValueError异常。code
q.join()
:生产者将使用此方法进行阻塞,直到队列中全部项目均被处理。阻塞将持续到为队列中的每一个项目均调用q.task_done()方法为止。对象
from multiprocessing import JoinableQueue #用法和Queue类似 q = JoinableQueue() q.put('ocean')#队列放入一个任务,内存在一个计数机制,+1 q.put('can')#计数机制 +1 print(q.get()) q.task_done()#完成一次任务,计数机制-1 print(q.get()) q.task_done()#计数机制 -1 q.join()#计数机制不为0的时候,阻塞等待计数器为0后经过 ################## ocean can