- 管道模型
- 匿名管道:Linux 命令行的
|
(前一个命令的输出,作为后一个命令的输入),这种类型的管道通常是没有名字的,用完了就销毁了 - 命名管道(FIFO):使用 mkfifo() 函数创建,管道以文件的形式存在
- 匿名管道:Linux 命令行的
- 消息队列模型
- 通常用在多线程中生产者消费者模型中
- 内核创建的一个队列,多个进程可以往里面发送消息,也可以从里面接收消息
- 共享内存 + 信号量
- 多个进程共享一片连续的内存空间
- 速度快,性能高
- 会出现进程不安全的情况,所以需要引入信号量避免冲突(互斥)
- 同一共享资源,同一刻只能被一个进程访问,类似锁
- 信号
- 一个进程在运行的时候,可以向另一个进程发送一个信号,linux 中有很多信号,可以通过
kill -l
来进行查看 - 类似于需要杀死进程,就是向该进程发送了一个信号
- 一个进程在运行的时候,可以向另一个进程发送一个信号,linux 中有很多信号,可以通过
- socket
- 网络上的数据传输,通过端口号
进程间通信方式
最新推荐文章于 2024-08-03 12:18:10 发布