進程之間、線程之間的通信方式總結

1、線程之間的通信方式有:鎖機制(互斥鎖、條件變量、讀寫鎖)、信號量、消息隊列、事件、全局變量

2、進程之間的通信方式有:管道、信號量、消息隊列、條件變量、共享內存、套接字(socket)

在萬能百度可以查到各種用法及介紹
我就順便簡單的說一哈:
管道又分爲:
管道( pipe ):管道是一種半雙工的通信方式,數據只能單向流動,而且只能在具有親緣關係的進程間使用。(進程的親緣關係通常是指父子進程關係。)
有名管道 (named pipe) : 有名管道也是半雙工的通信方式,但是它允許無親緣關係進程間的通信。

信號量:簡單來說就是做PV操作,可以進行線程和進程之間的通信(實現同步,特別是臨界資源)

信號:通知接收進程某個事件已經發生,是進程間通信機制中唯一的異步通信機制(感覺就和中斷機制差不多)

消息隊列:存在於內核(操作系統)中,只有內核重啓才能刪除

套接字:就是socket,可以用於不同機器間的通信。

然後再提下不同項目之間的通信方式:http、socket、webservice
http:get,post
socket:效率最高
webservice:tomcat

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章