亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

進程間通信-信號量

發布時間:2020-06-19 03:16:07 來源:網絡 閱讀:329 作者:yayaru9240 欄目:編程語言

信號量:它描述了當前某種資源的數量。它的意圖在于進程間同步,就相當于一個計數器,它本身不具有數據交換的功能,而是通過控制其他通信資源來實現進程間通信。

當一個進程要訪問臨界資源時,先要進行P操作申請資源,當大于0時,資源可以請求,申請過后,若為0,則將進程掛起;當進程不再訪問該信號量控制的資源時,進行V操作,若有進程掛起,則喚醒該等待的進程繼續恢復訪問,如果無掛起進程,就給它加1。

進程間同步:對臨界資源的訪問帶有順序性的,一個執行完畢,另一個才可以執行。

注意:對信號量的操作均為原子操作,因為信號量的主要作用就是維護資源的互斥或多進程的同步訪問,而在信號量的初始化和創建中均不能保證其原子操作。

創建信號量:semget(key_t key,int nsems,int semflg);

P,V操作:

semop(int semid,struct sembuf* buf,unsigned nsops);//對當前信號量集上的第幾個信號量進行P/V操作

釋放信號量:semctl(int semid ,int semnue,int cmd)//對當前信號量集上的第幾個信號量進行cmd指令操作。

union semun { 

 int val; // 使用的值 

 struct semid_ds *buf; // IPC_STAT、IPC_SET 使用緩存區 

 unsigned short *array; // GETALL,、SETALL 使用的數組 

 struct seminfo *__buf; // IPC_INFO(Linux特有) 使用緩存區 

}; 

comm.h

進程間通信-信號量

comm.c

進程間通信-信號量

進程間通信-信號量

進程間通信-信號量

test.c
進程間通信-信號量

運行結果:

進程間通信-信號量


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武汉市| 五台县| 略阳县| 平利县| 广元市| 湖北省| 阿城市| 迁安市| 松潘县| 大宁县| 红原县| 沧州市| 雅江县| 阜平县| 永新县| 海原县| 崇明县| 高安市| 卫辉市| 堆龙德庆县| 密云县| 介休市| 刚察县| 福泉市| 徐闻县| 新野县| 阿荣旗| 百色市| 依安县| 囊谦县| 汕尾市| 柘荣县| 柳林县| 榕江县| 井冈山市| 抚州市| 四子王旗| 霍林郭勒市| 宁夏| 巴中市| 阿拉善盟|