进程间通信(个人总结)

对于进程间通信(interprocess communication )的几种机制,我在前面都是零散的归纳,并且写出了每种机制的使用方法,但是没有系统的进行过归类。最近在一位学长的推荐下,通过阅读外文资料,脑海里对于这方面的知识真是清晰了许多,我觉得有必要跟大家分享一下。

1.首先对于进程间通信工具的分类:

unix下的通信和同步工具,按照功能上划分,大致分为以下几类:

(1)通信类:这些工具是用来进程间交换数据。

(2)同步类:这些工具是与线程和进程间的同步操作相关。

(3)信号类:信号通常用于某些特定的目的,也可以在一些特定的情况下解决同步问题。

在书上看到的总结归类图,写的非常地详细。

通信类工具包含,数据传输(data transfer)和shared memory(共享内存)。数据传输下包含了(1)字节流(byte stream):pipe,FIFO,stream socket; (2)pseudoterminal();(3)message(消息):System v message queue,POSIX message queue,datagram socket;

共享内存下,包含了(1)System V shared memory;(2)POSIX shared memory;(3)memory mapping(内存映射):anonymous mapping(匿名映射),mapped file;


信号类工具包含,standard signal和realtime signal。


同步类工具包含了(1)semaphore:System V semaphore,POSIX semaphore(其中又包含命名的和未命名的)。(2)文件锁(file lock)。(3)mutex(互斥量)(4)条件变量(condition variable)

互斥量和条件变量适用于线程之间解决同步性的问题。


参考资料:linux的程序接口设计

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShaYQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值