Python进程间通信
- 软件开发
- 2025-08-06 16:00:02

多线程通信简称IPC(IPC(Inter-Process Communication),多进程间无法直接实现数据交互,需要通过如下方式实现进程之间通讯
管道:pipe 基于共享的内存空间队列:pipe+锁的概念--->queue共享内存 队列 - Queue() from multiprocessing import Queue什么是multiProcess.Queue: 创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。
其中 Queue([maxsize]) 用于创建共享的进程队列。参数 :maxsize是队列中允许的最大项数。如果省略此参数,则无大小限制。底层队列使用管道和锁定实现。
Queue方法使用
g queue.get 的使用
是从队列里面取值并且把队列面的取出来的值删掉,没有参数的情况下就是是默认一直等着取值, 就算是队列里面没有可取的值的时候,程序也不会结束,就会卡在哪里,一直等着
from multiprocessing import Queue q = Queue(3) # 生成一个队列对象,当队列超过了3个等待数据时,第4个会阻塞直接队列有数据消耗完成 ###### put方法是往队列里面放值 q.put('1') q.put('2') q.put('3') q.put('4') #阻塞 ###### 其他方法:q.full() 是否满了 q.empty()是否空队列 ###### get方法是从队列里面取值 print(q.get()) print(q.get()) print(q.get()) 详情官方文档 https://docs.python.org/zh-cn/3/library/multiprocessing.html 注意:部分方法只在windows上有效 管道:Pipe() from multiProcessing import Pipe parent,child = Pepe() #管道默认情况下是双工的,即parent与child都有send()和recv()方法 官网:https://docs.python.org/zh-cn/3/library/multiprocessing.html 共享内存 - 进程内同步 from multiprocessing import shared_memory shm = shared_memory.SharedMemory(create=True, size=10) 共享内存使用较少,日常工程应用中,如果需要共享内存一般是用redis等三方库或工具作为媒介Python进程间通信由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Python进程间通信”