进程队列queue
-
特点
- 能够实现进程之间的通信
- 数据安全
- 先进先出
-
实现原理
-
基于管道+锁
-
管道基于文件级别的socket+pickle实现的
-
from multiprocessing import Process from multiprocessing import Queue def f_put(q): for i in range(4): q.put(f'hello{i}') def f_get(q): for i in range(5): if q==None:break print(q.get()) if __name__ == '__main__': queue=Queue() f1=Process(target=f_put,args=(queue,)) f1.start() f2=Process(target=f_get,args=(queue,)) f2.start() f1.join() queue.put(None)
-