-
进程间通信(IPC inter-process communication)
-
如何实现进程间通信
- 将消息放入队列中,由另一个进程从另一个队列中取出
- 这种通信方式是非阻塞的,发送进程不需要等待接收进程的相应就可执行
- multiprocessing有两种形式通信:队列、管道
-
管道
- stdin
- stdout
- stderr
-
队列
- 管道+锁就是队列
- 队列的特性是FIFO
-
进程间通信的目的
- 进程间传输数据
-
python中如何实现队列
- queue模块:创建共享队列
- import queue#导入模块
- queue = queue.Queue()#创建对象
- queue.put()#放数据,数据超出容量,阻塞
- q.get() #取数据,没有数据就一直阻塞
- q.get_nowait()#取数据?没有数据就报错
- q.put_nowait()#放数据?数据超出容量,阻塞
- q.empty()#判读队列是否为空
- q.full()#判断队列是否满
- q.qsize()#获取当前队列大小