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

正文內(nèi)容

進(jìn)程同步與互斥(存儲(chǔ)版)

2024-11-26 10:13上一頁面

下一頁面
  

【正文】 信號(hào)量 empty并初始化; 創(chuàng)建信號(hào)量 full并初始化; 創(chuàng)建信號(hào)量 mutex并初始化; 創(chuàng)建生產(chǎn)者子進(jìn)程; 如果生產(chǎn)者子進(jìn)程返回: for(i=0; i10, i++) { P(empty); P( mutex); 寫數(shù)據(jù)到共享存儲(chǔ)區(qū); 緩沖區(qū)計(jì)數(shù) set++; V( mutex); V(full); exit(0); } 如果父進(jìn)程返回: 創(chuàng)建消費(fèi)者 A子進(jìn)程; 如果消費(fèi)者 A進(jìn)程返回: for(i=0; i10, i++) { P(full); P( mutex); 從共享存儲(chǔ)區(qū)中取數(shù)據(jù); 緩沖區(qū)計(jì)數(shù) (*get)++; V( mutex); V(empty); exit(0); } 如果父進(jìn)程返回: 創(chuàng)建消費(fèi)者 B子進(jìn)程; 如果消費(fèi)者 B進(jìn)程返回: 2020/11/23 30 算法: for(i=0; i10, i++) { P(full); P( mutex); 從共享存儲(chǔ)區(qū)中取數(shù)據(jù); 緩沖區(qū)計(jì)數(shù) (*get)++; V( mutex); V(empty); exit(0); } 程序清單: 如果父進(jìn)程返回: wait(0); wait(0); wait(0); 斷開 2個(gè)共享存儲(chǔ)區(qū); 撤消 2個(gè)共享存儲(chǔ)區(qū); 撤消 3個(gè)信號(hào)量; exit(0); } 2020/11/23 31 編譯連接并執(zhí)行后的輸出結(jié)果如下: 由運(yùn)行結(jié)果可以看出 , 生產(chǎn)者進(jìn)程分別往緩沖區(qū) 0~ 4中送了 10次產(chǎn)品 ,消費(fèi)者進(jìn)程 A和 B輪流從緩沖區(qū) 0~ 4中取走產(chǎn)品 , 并實(shí)現(xiàn)了 3個(gè)進(jìn)程之間的同步和互斥 , 即實(shí)現(xiàn)了生產(chǎn)者進(jìn)程送了產(chǎn)品后消費(fèi)者進(jìn)程才取走產(chǎn)品 , 并且一次只有一個(gè)進(jìn)程進(jìn)入緩沖區(qū) 。 //睡眠 1秒,等待父進(jìn)程將 end取走 break。 } 2020/11/23 25 else { //子進(jìn)程返回寫信息到共享內(nèi)存 while(1) { semop(emptyid,amp。 //對(duì) emptyid執(zhí)行 V操作 if(strncmp(viraddr,end,3)==0) break。 /*創(chuàng)建并附接共享內(nèi)存 */ shmid=shmget(IPC_PRIVATE,BUFSIZ,0666|IPC_CREAT)。 =0。 union semun arg。 當(dāng)信息為 “ end”時(shí)讀寫進(jìn)程結(jié)束 。 sleep(1)。 } wait(0)。 semop(mutexid,amp。 =1。 2020/11/23 16 程序清單:文件名 include include include includesys/ includelinux/ int mutexid。V,1)。 =1。 如果有 n個(gè)信號(hào)量 , 則需要分別定義 n個(gè)不同的信號(hào)量標(biāo)識(shí)符 。 IPC_RMID:刪除指定信號(hào)量集 。 ⑶ . sem_flg指明操作的執(zhí)行模式 , 它有兩個(gè)標(biāo)志位: IPC_NOWAIT:指明以非阻塞方式操作信號(hào)量 。 /* operation flags */ }。 該參數(shù)最大值在 linux/: define SEMMSL 250 /* = 8 000 */ semflg—— 當(dāng) key值不為 IPC_PRIVATE: ① . 若只設(shè)置 semflag的 IPC_CREAT位 , 則創(chuàng)建一個(gè)信號(hào)量集 , 如果該信號(hào)量集已經(jīng)存在 , 則返回其標(biāo)識(shí)符 ② . 若設(shè)置 semflag的 IPC_CREAT|IPC_EXCL位 , 則創(chuàng)建一個(gè)新的信號(hào)量集 , 如果該 key值的信號(hào)量集已經(jīng)存在則返回錯(cuò)誤信息 ③ . 只設(shè)置 IPC_EXCL位而不設(shè)置 IPC_CREAT位沒有任何意義 。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1