為什麼需要程序間同步(通訊)。
資料傳輸:程序間資料傳輸
資源共享: 程序間資源共享
通知事件:程序間相互傳遞訊息
程序控制: 有些程序希望完全控制另乙個程序的執行(如debug程序),此時控制程序希望能夠攔截另乙個程序的所有陷入和異常,並能夠及時知道它的狀態改變。
程序間的同步原則:
空閒讓進: 資源無占用,允許使用
忙則等待: 資源有占用,請求程序等待
有限等待: 保證有限等待時間可以使用資源
讓權等待: 等待時,程序需要讓出cpu(從執行狀態切換到阻塞狀態)
程序間同步的方法:
訊息佇列
共享儲存
訊號量執行緒間的同步方法:
互斥量讀寫鎖
自旋鎖條件變數
程序間同步的方法
2010 05 10 01 03 42 分類 linux 字型大小 訂閱 程序間通訊 ipc 方法主要有以下幾種 管道 fifo 共享記憶體 訊息佇列 訊號 1.管道中還有命名管道和非命名管道 即匿名管道 之分,非命名管道 即匿名管道 只能用於父子程序通訊,命名管道可用於非父子程序,命名管道就是fi...
程序執行緒間同步
一 posix訊息佇列 通過固定名稱來建立和引用訊息佇列 1.可以認為是乙個訊息鍊錶,有足夠的許可權的執行緒可以往佇列中放置和獲取訊息。2.可指定優先順序 在空佇列放置訊息時候能夠產生乙個訊號或啟動乙個執行緒 3.建立訊息佇列mq open mq close 關閉 並不刪除 mq unlink 刪除...
程序間通訊,同步
程序間通訊 管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。有名管道 named pipe 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。訊號量 semophore 訊號量是乙個計數器,可以用來控...