程序間的同步

2022-09-24 05:15:11 字數 394 閱讀 8969

為什麼需要程序間同步(通訊)。

資料傳輸:程序間資料傳輸

資源共享: 程序間資源共享

通知事件:程序間相互傳遞訊息

程序控制: 有些程序希望完全控制另乙個程序的執行(如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 訊號量是乙個計數器,可以用來控...