freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

進(jìn)程同步與互斥-文庫吧資料

2024-10-25 10:13本頁面
  

【正文】 _CREAT|0666)。 char *viraddr。 union semun arg。 main() { int chld,i,j。 2020/11/23 22 程序清單 , 文件名為 : include include include include includesys/ includelinux/ includelinux/ /*定義信號(hào)量?jī)?nèi)部標(biāo)識(shí) */ int emptyid。 ⑵ . 同步算法: 子進(jìn)程執(zhí)行條件為單緩沖區(qū)有空 , 設(shè)信號(hào)量 empty, 初值為 1; 父進(jìn)程執(zhí)行條件為單緩沖區(qū)有數(shù) , 設(shè)信號(hào)量 full, 初值為 0; 上述信號(hào)量可以由父進(jìn)程定義 、 申請(qǐng) 、 初始化 , 然后由父子進(jìn)程共享使用 , 子進(jìn)程結(jié)束后由父進(jìn)程撤消 。 當(dāng)信息為 “ end”時(shí)讀寫進(jìn)程結(jié)束 。 //子進(jìn)程終止 } } 2020/11/23 19 編譯連接及運(yùn)行結(jié)果: 2020/11/23 20 利用信號(hào)量實(shí)現(xiàn)進(jìn)程同步 [例 410] 父進(jìn)程創(chuàng)建一個(gè)子進(jìn)程 , 父子進(jìn)程共享一個(gè)存儲(chǔ)區(qū) , 子進(jìn)程向共享存儲(chǔ)區(qū)中以覆蓋方式寫信息 , 父進(jìn)程從該共享存儲(chǔ)區(qū)中讀信息并顯示信息 。 //出臨界區(qū)執(zhí)行 V操作 j++。 semop(mutexid,amp。 sleep(1)。P,1)。 while(j=3) //循環(huán) 3次 { sleep(1)。 //撤消信號(hào)量 exit(0)。 } wait(0)。V,1)。 printf(prnt out\n)。 //進(jìn)入臨界區(qū)前執(zhí)行 P操作 printf(prnt in\n)。 semop(mutexid,amp。 //創(chuàng)建子進(jìn)程 if(chld0) //父進(jìn)程返回 { i=1。 =SEM_UNDO。 =0。 =1。 if(semctl(mutexid,0,SETVAL,arg)==1) perror(semctl setval error)。 /*創(chuàng)建只含有一個(gè)互斥信號(hào)量元素的信號(hào)量集 */ mutexid=semget(IPC_PRIVATE,1,0666|IPC_CREAT)。 /*定義數(shù)據(jù)結(jié)構(gòu) */ struct sembuf P,V。 2020/11/23 16 程序清單:文件名 include include include includesys/ includelinux/ int mutexid。 分析: 對(duì)臨界區(qū)設(shè)置互斥信號(hào)量 mutex, 其內(nèi)部標(biāo)識(shí)為 mutexid, 初值為 1。 2020/11/23 15 應(yīng)用舉例 [例 49] 設(shè)有父子 2個(gè)進(jìn)程共享一個(gè)臨界資源 , 每個(gè)進(jìn)程循環(huán)進(jìn)入該臨界區(qū) 3次:父進(jìn)程每次進(jìn)入臨界區(qū)后顯示 “ prnt in”, 出臨界區(qū)則顯示“ prnt out”;子進(jìn)程每次進(jìn)入臨界區(qū)后顯示 “ chld in”出臨界區(qū)則顯示 “ chld out”。 因?yàn)樾盘?hào)量不是普通變量,對(duì)它賦初值只能通過系統(tǒng)調(diào)用函數(shù)semctl(semid,0,SETVAL,arg)進(jìn)行,其值的修改只能通過 P、 V操作,而不能使用普通的賦值語句。V,1)。P,1)。 /*1表示 V操作時(shí)對(duì)信號(hào)量加 1*/ =SEM_UNDO。 6. 定義信號(hào)量的 V操作 ( 供所有信號(hào)量的 V操作使用 ) =0。 =1。 semctl(semid,0,SETVAL,arg)。 其中 , 第一個(gè)參數(shù): IPC_PRIVATE由系統(tǒng)產(chǎn)生 key值 , 也可以由用戶使用具體的整型數(shù)值作為 key值指定;第二個(gè)參數(shù)表示信號(hào)量集中只有一個(gè)信號(hào)量;操作權(quán)限取決于最后一個(gè)參數(shù) , 0666表示任意用戶可讀可寫 ,只設(shè)置 semflag的 IPC_CREAT位 , 則創(chuàng)建一個(gè)信號(hào)量集 , 如果該信號(hào)量集已經(jīng)存在 , 則返回其標(biāo)識(shí)符 。 ⑵ . 定義給信號(hào)量賦初值的參數(shù)數(shù)據(jù)結(jié)構(gòu): union semun arg。 如果有 n個(gè)信號(hào)量 , 則需要分別定義 n個(gè)不同的信號(hào)量標(biāo)識(shí)符 。 ⑵ . 撤消信號(hào)量集
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1