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

linux信號量線程進程區別

心理 閱讀(3.35W)
linux信號量線程進程區別

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

消息隊列,信號量,內存共享,這幾個都是一樣的原理。,只不過信號量分爲有名與無名