linux下进程或线程如何通信?

管道 fifo

无名管道(内存文件): 管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程之间使用。进程的亲缘关系通常是指父子进程关系。
有名管道(FIFO文件,借助文件系统): 有名管道也是半双工的通信方式,但是允许在没有亲缘关系的进程之间使用,管道是先进先出的通信方式。

共享内存

共享内存:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC方式,它是针对其他进程
间通信方式运行效率低而专门设计的。它往往与信号量,配合使用来实现进程间的同步和通信。

消息队列

消息队列:消息队列是有消息的链表,存放在内核中并由消息队列标识特标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。

套接字SOCKET

套接字:适用于不同机器间进程通信,在本地也可作为两个进程通信的方式

信号

信号:用于通知接收进程某个事件已经发生

posted @   陈浩辉  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
ヾ(≧O≦)〃嗷~
点击右上角即可分享
微信分享提示