• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            linux進程間的同步方法

            Posted on 2009-04-20 11:27 Prayer 閱讀(4062) 評論(3)  編輯 收藏 引用 所屬分類: LINUX/UNIX/AIX

            進程間通訊(IPC)方法主要有以下幾種:   
                管道/FIFO/共享內存/消息隊列/信號  

            1.管道中還有命名管道和非命名管道(即匿名管道)之分,非命名管道(即匿名管道)只能用于父子進程通訊,命名管道可用于非父子進程,命名管道就是FIFO,管道是先進先出的通訊方式    

            2.消息隊列是用于兩個進程之間的通訊,首先在一個進程中創建一個消息隊列,然后再往消息隊列中寫數據,而另一個進程則從那個消息隊列中取數據。需要注意的是,消息隊列是用創建文件的方式建立的,如果一個進程向某個消息隊列中寫入了數據之后,另一個進程并沒有取出數據,即使向消息隊列中寫數據的進程已經結束,保存在消息隊列中的數據并沒有消失,也就是說下次再從這個消息隊列讀數據的時候,就是上次的數據!!!!    

            3.信號量,它與WINDOWS下的信號量是一樣的,所以就不用多說了    

            4.共享內存,類似于WINDOWS下的DLL中的共享變量,但LINUX下的共享內存區不需要像DLL這樣的東西,只要首先創建一個共享內存區,其它進程按照一定的步驟就能訪問到這個共享內存區中的數據,當然可讀可寫      

            以上幾種方式的比較:    

            1.管道:速度慢,容量有限,只有父子進程能通訊    

            2.FIFO:任何進程間都能通訊,但速度慢    

            3.消息隊列:容量受到系統限制,且要注意第一次讀的時候,要考慮上一次沒有讀完數據的問題    

            4.信號量:不能傳遞復雜消息,只能用來同步    

            5.共享內存區:能夠很容易控制容量,速度快,但要保持同步,比如一個進程在寫的時候,另一個進程要注意讀寫的問題,相當于線程中的線程安全,當然,共享內存區同樣可以用作線程間通訊,不過沒這個必要,線程間本來就已經共享了同一進程內的一塊內存

            Feedback

            # re: linux進程間的同步方法  回復  更多評論   

            2012-11-12 09:28 by xcf
            文不對題!誤人子弟!

            # re: linux進程間的同步方法  回復  更多評論   

            2013-05-04 21:35 by konyel@163.com
            哥 這是數據交換 不是同步 樓上說得對 誤人子弟

            # re: linux進程間的同步方法[未登錄]  回復  更多評論   

            2014-01-17 16:47 by xxxx
            誤人子弟啊
            国产成人香蕉久久久久| 国产精品99久久不卡| 久久AV高潮AV无码AV| 狠狠色丁香久久婷婷综合| 久久久久人妻一区精品性色av | 狠狠色丁香婷婷久久综合不卡| 狠狠色噜噜狠狠狠狠狠色综合久久| 精品国产一区二区三区久久蜜臀| 欧美成人免费观看久久| 99国产欧美久久久精品蜜芽 | 久久综合综合久久狠狠狠97色88 | 亚洲欧洲日产国码无码久久99| www.久久热.com| 久久久精品国产免大香伊 | 亚洲精品乱码久久久久久蜜桃 | 99热精品久久只有精品| 久久精品国产乱子伦| 久久久久九国产精品| 久久精品成人免费网站| 久久香蕉超碰97国产精品| 久久九色综合九色99伊人| 久久精品国产亚洲综合色| 欧美熟妇另类久久久久久不卡 | 久久亚洲AV无码精品色午夜| 国产精品美女久久久久AV福利| 久久久久亚洲精品天堂| 伊人久久精品无码av一区| 久久久久亚洲?V成人无码| 久久www免费人成看国产片| 国产日产久久高清欧美一区| 久久精品中文字幕无码绿巨人| 国内精品综合久久久40p| 久久只这里是精品66| 亚洲日本久久久午夜精品| 亚洲国产精品综合久久网络| 性高朝久久久久久久久久| 久久有码中文字幕| 亚洲国产小视频精品久久久三级| 看全色黄大色大片免费久久久 | 婷婷久久综合九色综合98| 97久久超碰成人精品网站|