1. 程式人生 > >python學習筆記——進程間通信方式對比

python學習筆記——進程間通信方式對比

class 信號 爭奪 borde 臨界區 order style 讀寫 異步

1 通信方式對比

管道 消息隊列 共享內存 信號
開辟空間 內存 內存 內存 不開辟額外空間
讀寫方式 雙向/單向(信息流) 先進先出(消息體) 操作內存(數值數組) 發送處理信號
效率 一般 一般 異步
是否需要互斥 不需要 不需要 需要

同步和互斥:

(1)臨界資源:對多個進程或線程均可見(也即均可操作),會產生被爭奪的資源;如共享資料。

(2)臨界區:操作臨界資源的代碼段。

(3)同步:是一種制約關系,為完成某種任務多個進程協調次序等待,傳遞消息,完成工作,這種關系源於進程間的合作;基於接口本身的一種特性,也就是所謂的阻塞。

(4)互斥:是一種間接的制約,當一個進程進入臨界區時,其他進程就無法操作臨界資源,只有當該進程結束對臨界資源的使用時,其他進程才能使用,這種技術往往是通過人為加鎖完成的;是臨界資源相互爭奪的方式。

拓展理解可以參考進程間通信的方式——信號、管道、消息隊列、共享內存

python學習筆記——進程間通信方式對比