1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          信號量

          來源:互聯網轉載 時間:2024-01-29 07:56:02

          Linux內核信號量集用結構體semid_ds結構體表示,semid_ds的結構體定義如下:

          /* Data structure describing a set of semaphores.  */struct semid_ds{  struct ipc_perm sem_perm;        /* operation permission struct */  __time_t sem_otime;            /* last semop() time */  __syscall_ulong_t __glibc_reserved1;  __time_t sem_ctime;            /* last time changed by semctl() */  __syscall_ulong_t __glibc_reserved2;  __syscall_ulong_t sem_nsems;        /* number of semaphores in set */  __syscall_ulong_t __glibc_reserved3;  __syscall_ulong_t __glibc_reserved4;};

          每個信號量則描述為:

          struct sem{       int    semval ;       int    sempid ;            int    semcnt ;       int    semzcnt;};  

          信號量的基本操作包括創建信號量、信號量的值操作、獲取或設置信號量屬性,對應的相關函數的分別是semget、semop、semctl。

          1.創建信號量集

          semget函數用于創建信號量,如果參數key指定的信號量集已經存在,則就返回該信號量集。

          #include <sys/types.h>#include <sys/ipc.h>#include <sys/sem.h>int semget(key_t key, int nsems, int flag);

          key:一個整數類型的鍵值,用來命名某個特定的信號量集。

          nsems:指定打開或者新創建的信號量集包含的信號量數目。

          falg:9個位的權限標志。

          返回值:成功返回信號量集描述字,否則返回-1。

          2.信號量值操作

          信號量本質上是一個計數器,進程可以使用函數semop來增加或者減少信號量值,以表示釋放或者申請共享資源。

          #include <sys/types.h>#include <sys/ipc.h>#include <sys/sem.h>int semop(int sem_id, struct sembuf * sops, unsigned int nsops);

          sem_id:semget函數返回的信號量集描述字。

          nsops:本次操作的信號量數目,也是sops指向的數組的大小。

          sops:指向一個類型為sembuf的結構體數組。

          sembuf結構體:

          /* Structure used for argument to `semop' to describe operations.  */struct sembuf{  unsigned short int sem_num;    /* semaphore number */  short int sem_op;        /* semaphore operation */  short int sem_flg;        /* operation flag */};

          如果sem_op為負數,就從信號量值中減去sem_op的絕對值,表示進程獲取資源;如果sem_op為正數,就把它加到信號量上,表示歸還資源;如果sem_op為0,則調用進程睡眠,直到信號量值為0。sem_flag一般設置為0。

          3.獲取或者設置信號量屬性

          系統中的每個信號量集都對應一個struct sem_ds結構體,該結構體記錄信號量集的各種信息,存放于內核空間。為了設置、獲取信號量集的各種信息及屬性,在用戶空間中有一個聯合體union semnu與之對應。

          union semun {    int              val;    /* Value for SETVAL */    struct semid_ds *buf;    /* Buffer for IPC_STAT, IPC_SET */    unsigned short  *array;  /* Array for GETALL, SETALL */    struct seminfo  *__buf;  /* Buffer for IPC_INF    (Linux-specific) */};

          信號量屬性操作的函數原型:

          #include <linux/sem.h>int semctl(int semid, int semnum, int cmd,unionsemun arg);

          semid:信號量集描述字。

          semnum:待操作的信號量在信號集semid中的索引。

          cmd:指定具體的操作類型,常見的操作有:

            SETVAL:設置semnum所代表信號量的值為arg.val。

            SETALL:通過arg.val更新所有信號量的值。

            IPC_RMID:從內核主存中刪除信號量集。

              

          標簽:unionsem-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          怎樣使ppt中的文字兩端都對齊,不用分散對齊?謝謝您的邀請通配符替換和文字轉換表功能很容易完成。只需幾個簡單的步驟,如圖所示:原文在第一個單詞后添加一個符號(我用“”),這個符號不會出現在單詞或譯文中。在“替換”對話框中,如圖所示輸入并設置。注意搜索內容第二個括號中的空格。如果文檔的空間為全角度,請輸入全角度空間和半角度空間。替換所有點后,每個單詞后的第一個空格將替換為。選擇所有文本,然后使用“插...

          qq綠鉆和黃鉆區別?綠鉆和黃鉆的區別是:的綠鉆是指音樂給用戶提供的一些特權服務,黃鉆是空間的會員。不同的會員所對應的特權不同,綠鉆可以用來下載高質量音樂,黃鉆則可以給空間添加背景,裝飾,文字,等的美化還有其他的特權例如的vip和svip等,可以根據所需進行購買。黃鉆有什么用?有什么好處?開哪個鉆最劃來?騰訊的鉆都是各有功能的! 黃鉆主要是空間裝扮,皮膚等可以免費用,好處就是空間比普通用戶的弄得漂亮...

          木門的十大品牌?1 .蒙田木門蒙恬木門成立于1989年,是木門行業的領導品牌。;的木門行業。它生產的各種木材質量優良,深受許多消費者的喜愛。2.塔塔木門塔塔門業成立于1999年,隸屬于北京億泰同創實業有限公司旗下品牌。amp這是一個最早從事研發的企業之一。amp在研發和生產室內門,具有卓越的品質和巨大的市場競爭力。3.展志天華木門展志天華是一家專注木業26年的大型家居建材企業。作為航天部門的合作伙...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>