进程之间和线程之间的通信

进程之间的通信

管道:管道是一种半双工的通信方式,各个进程互斥访问管道,数据也只能单向流动,但是可以通过两个管道来实现全双工通信。

共享存储:多个进程都可以互斥访问的存储空间,可以基于数据结构(比如数组)或者基于存储区。

消息队列:传递结构化的消息。各个进程都有一个相当与信箱一样的消息缓冲队列。进程A和进程B通信就可以发消息给进程A的消息缓冲队列。

信号量:主要用来控制多个进程对共享资源的访问。主要作为进程间以及同一进程内不同线程之间的同步手段。信号量有整形和记录型信号量。整形信号量不满足“让权等待”原则,而记录型信号量有block和weakup原语,可以实现让权等待。

套接字

与其他通信机制不同的是,可用于不同机器间的进程通信

线程之间的通信:

线程之间的通信不像进程那么复杂,因为同一个进程的线程资源都基本上是一样的,它们的通信目的主要是用于线程同步和互斥访问某个资源,所以线程没有像进程通信中的用于数据交换的通信机制。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,093评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 6,908评论 0 2
  • 今天上午陪老妈看病,下午健身房跑步,晚上想想今天还没有断舍离,马上做,衣架和旁边的的布衣架,一看乱乱,又想想自己是...
    影子3623253阅读 2,927评论 3 8