linux进程间通信的方式有哪些


当前第2页 返回上一页

5、信号量

信号量实质上就是一个标识可用资源数量的计数器,它的值总是非负整数。而只有0和1两种取值的信号量叫做二进制信号量(或二值信号量),可用用来标识某个资源是否可用。

6、套接字

套接字是更为基础的进程间通信机制,与其他方式不同的是,套接字可用于不同机器之间的进程间通信。

有两种类型的套接字:基于文件的和面向网络的。

(1)Unix套接字是基于文件的,并且拥有一个“家族名字”--AF_UNIX,它代表地址家族(address family):UNIX。

(2)第二类型的套接字是基于网络的,它也有自己的家族名字--AF_INET,代表地址家族(address family):INTERNET

不管采用哪种地址家族,都有两种不同的套接字连接:面向连接的和无连接的。

(1)面向连接的套接字(SOCK_STREAM)

进行通信前必须建立一个连接,面向连接的通信提供序列化的、可靠地和不重复的数据交付,而没有记录边界。

这意味着每条信息可以被拆分成多个片段,并且每个片段都能确保到达目的地,然后在目的地将信息拼接起来。

实现这种连接类型的主要协议是传输控制协议(TCP)。

(2)无连接的套接字(SOCK_DGRAM)

在通信开始之前并不需要建立连接,在数据传输过程中并无法保证它的顺序性、可靠性或重复性。

然而,数据报确实保存了记录边界,这就意味着消息是以整体发送的,而并非首先分成多个片段。

由于面向连接的套接字所提供的保证,因此它们的设置以及对虚拟电路连接的维护需要大量的开销。然而,数据报不需要这些开销,即它的成本更加“低廉”。

实现这种连接类型的主要协议是用户数据报协议(UDP)。

以上就是linux进程间通信的方式有哪些的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

如何在whm/cpanel中更改主域的文档根目录

Linux有哪几种

Linux下的软件防火墙iptables――规则的查看与清除、定义默认策略

Linux如何查看进程

Linux如何判断目录是否存在

如何使用共享的自定义镜像创建ecs实例或者更换实例的系统盘

调整一台按量付费实例的实例规格和公网带宽大小

Linux下启动ssh失败的解决方法

Linux中如何卸载已安装的软件

实例进入欠费回收中状态后如何可以结清账单并重开机

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...