IPC進程間通訊方式對比

進程間通信的方式:spa

1)  管道中還有命名管道和非命名管道之分,非命名管道只能用於父子進程通信,命名管道可用於非父子進程,命名管道就是FIFO,管道是先進先出的通信方式。FIFO是一種先進先出的隊列。它相似於一個管道,只容許數據的單向流動。每一個FIFO都有一個名字,容許不相關的進程訪問同一個FIFO,所以也成爲命名管。orm

2)    消息隊列:是用於兩個進程之間的通信,首先在一個進程中建立一個消息隊列,而後再往消息隊列中寫數據,而另外一個進程則從那個消息隊列中取數據。須要注意的是,消息隊列是用建立文件的方式創建的,若是一個進程向某個消息隊列中寫入了數據以後,另外一個進程並無取出數據,即便向消息隊列中寫數據的進程已經結束,保存在消息隊列中的數據並無消失,也就是說下次再從這個消息隊列讀數據的時候,就是上次的數據!!!隊列

3)    信號量, 不能傳遞複雜消息,只能用來同步進程

4)    共享內存,只要首先建立一個共享內存區,其它進程按照必定的步驟就能訪問到這個共享內存區中的數據,固然可讀可寫;速度最快。內存

相關文章
相關標籤/搜索