首页 > 图灵资讯 > java面试题>正文

进程间通信方式IPC

2024-06-02 13:32:48

管道pipe:

亲缘关系使用匿名管道,非亲缘关系使用命名管道,管道遵循FIFO,半双工,数据只能单向通信;

信号:

信号是一种比较复杂的通信方式,用户调用kill命令将信号发送给其他进程

消息队列:

消息队列克服了信号传递信息少,管道只能承载无格式字节流以及缓冲区大小受限等特点。

共享内存(share memory):

●使得多个进程可以可以直接读写同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。

●由于多个进程共享一段内存,因此需要依靠某种同步机制(如信号量)来达到进程间的同步及互斥。

信号量(Semaphores):

信号量是⼀个计数器,⽤于多进程对共享数据的访问,这种通信⽅式主要⽤于解决与同步相关的问题并避免竞争条件。

套接字(Sockets):

简单的说就是通信的两⽅的⼀种约定,⽤套接字中的相关函数来完成通信过程。

上一篇 进程和线程的区别
下一篇 用户态和核心态的区别

文章素材均来源于网络,如有侵权,请联系管理员删除。