05_进程间通信 IPC
1.进程件通信方式
1.磁盘交互: 速度慢,不安全
2.socket套接字
3.管道通信(Pipe)
4.消息队列(Queue, queue)
5.共享内存(Value, Array)
6.信号(os.kill, signal)
7.信号量(Semaphore)
2.管道通信-Pipe
1.概述: 在内存中开辟一块空间,对多个进程可见,通过管道实现多进程通信
2.语法
from multiprocess import Pipe fd1, fd2 = Pipe(duplex=True) # duplex默认为True表示双向管道,设置False则表示单向管道 返回值: 返回两个管道流对象,表示管道的两端 如果 duplex=True 则是双向管道则 fd1可读可写,fd2可读可写 如果 duplex=False 则是单向管道则 fd1只能,读fd2只能写 date = fd1.recv() # 接收并返回接收的消息(每次接收一条),如果管道没有消息会阻塞等待 fd2.send(data) # 发送消息,可以是字符串或其他类型,date为要发送的内容,如果没有接收端则管道破裂