當前位置:聚美館>智慧生活>心理>

linux訊號量執行緒程序區別

心理 閱讀(3.35W)
linux訊號量執行緒程序區別

訊號量在程序是以有名訊號量進行通訊的,在執行緒是以無名訊號進行通訊的,因為執行緒linux還沒有實現程序間的通訊,所以在sem_init的第二個引數要為0,而且在多執行緒間的同步是可以通過有名訊號量也可通過無名訊號,但是一般情況執行緒的同步是無名訊號量,無名訊號量使用簡單,而且sem_t儲存在程序空間中,有名訊號量必須LINUX核心管理,由核心結構struct ipc_ids 儲存,是隨核心持續的,系統關閉,訊號量則刪除,當然也可以顯示刪除,通過系統呼叫刪除

訊息佇列,訊號量,記憶體共享,這幾個都是一樣的原理。,只不過訊號量分為有名與無名