進程間通信
如果兩個進程,想要知道對方在干嘛,或者進行協調運行,就需要進程間通信。下面介紹一下常見的進程間通信方式。
無名管道: 管道是一種半雙工的通信方式。數據只能單向流動,而且只能在,具有親緣關系的進程間使用。進程間的親緣關系,通常指父子進程關系。
有名管道: 有名管道也是,半雙工的通信方式,但是它允許無親緣關系進程間的通信。
消息隊列:消息隊列是有消息的鏈表,存放在內核中,并由消息隊列標識符標識。它克服了信號傳遞信息少,管道只能承載無格式字符流以及緩沖區大小受限等特點。
信號量: 是一個計數器,可以用來控制多個進程對共享內存的訪問。它作為一種鎖機制,防止某個進程,正在訪問共享資源的時候,其他進程也訪問該資源,造成資源搶占。
信號: 一種較復雜的通信方式,用于通知和接收進程某個事件的發生。
共享內存: 是映射一段能被其他進程所訪問的內存,這段共享內存由一個進程創建,但多個進程都可以訪問。
套接字: 是一種進程間通信機制,與其他通信機制不同的是,它可用于 不同機器間的進程通信。
-
通信
+關注
關注
18文章
6167瀏覽量
137333 -
操作系統
+關注
關注
37文章
7070瀏覽量
124900 -
進程
+關注
關注
0文章
206瀏覽量
14210
發布評論請先 登錄
進程間通信之Linux下進程間通信概述
Linux進程間通信方式——管道

評論