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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計(jì)說(shuō)明書基于linux的進(jìn)程之間通信-文庫(kù)吧資料

2025-07-04 09:38本頁(yè)面
  

【正文】 。 //申請(qǐng)對(duì)信號(hào)量集的控制權(quán)}/* 函數(shù)功能:實(shí)現(xiàn)第i個(gè)哲學(xué)家放下叉子功能(V操作) 參數(shù):i 第i個(gè)哲學(xué)家(索引) 返回值:無(wú) */void put_forks(int i){ p_operator(mutex, 0)。 //哲學(xué)家試探拿起兩把叉子 v_operator(mutex, 0)。 //申請(qǐng)對(duì)互斥信號(hào)量的控制權(quán)(P) state[i] = HUNGRY。 v_operator(semphilosopher, i)。 state[RIGHT]!=EATING){ //左右鄰居無(wú)人在進(jìn)餐且哲學(xué)家需要進(jìn)餐 state[i] = EATING。 state[LEFT]!=EATING amp。 //程序暫停執(zhí)行3秒}(防止死鎖算法)/* 函數(shù)功能:實(shí)現(xiàn)第i個(gè)哲學(xué)家進(jìn)餐前的試探功能(防止死鎖) 參數(shù):i 第i個(gè)哲學(xué)家(索引) 返回值:無(wú) */void test(int i){ if (state[i]==HUNGRY amp。 //程序暫停執(zhí)行3秒}/* 函數(shù)功能:實(shí)現(xiàn)第i個(gè)哲學(xué)家進(jìn)餐的功能 參數(shù):i 第i個(gè)哲學(xué)家(索引) 返回值:無(wú) */void eat(int i){ printf(哲學(xué)家%d正在進(jìn)餐!\n,i+1)。 //修改哲學(xué)家的狀態(tài)為思考 printf(哲學(xué)家%d正在思考!\n,i+1)。 //執(zhí)行對(duì)信號(hào)量的V操作}(1)sleep函數(shù)函數(shù)原型:sleep(unsigned long)。 semop(semid, amp。sem_op, 1)。 sops: 信號(hào)量操作模板 nsops:信號(hào)操作結(jié)構(gòu)的數(shù)量,恒大于或等于1返回值含義:操作結(jié)果,正常返回值為0,錯(cuò)誤返回1/* 函數(shù)功能:對(duì)semid信號(hào)量集合的第member個(gè)信號(hào)量執(zhí)行P操作 參數(shù):semid 信號(hào)量集合的關(guān)鍵字 member 信號(hào)量集合中中要操作信號(hào)量的索引 返回值:無(wú) */void p_operator(int semid, int member){ //初始化信號(hào)量操作模板sem_op struct sembuf sem_op={ member, 1, SEM_UNDO }。 //操作成功} 實(shí)現(xiàn)P、V操作(1)semop函數(shù)說(shuō)明:函數(shù)原型:int semop(int semid, struct sembuf *sops, unsigned nsops)。 //取得操作失敗,返回0 if (semctl(mutex,0,SETVAL,arguement) 0) return 0。 mutex = semget(IPC_PRIVATE,1,IPC_CREAT|0660)。 return 0。 iN。 //操作失敗,返回0 } printf(創(chuàng)建哲學(xué)家信號(hào)量集成功!\n)。 if(semphilosopher == 1) { //創(chuàng)建信號(hào)量集失敗 printf(創(chuàng)建哲學(xué)家信號(hào)量集失敗!\n)。 //操作成功,返回1}/* 函數(shù)功能:創(chuàng)建信號(hào)量集并為每個(gè)哲學(xué)家初始化信號(hào)量 參數(shù):無(wú) 返回值:int類型,含義是操作的結(jié)果(成功為1,失敗為0)*/int newsem(){ //將每個(gè)哲學(xué)家信號(hào)量值初始化為0 = 0。 //將共享段與本進(jìn)程連接 if(state == (void*)1){ //連接過(guò)程中出錯(cuò) return 0。 //申請(qǐng)失敗,返回0 } return 1。,sem_op為1時(shí)表示執(zhí)行V操作/* 函數(shù)功能:申請(qǐng)一塊新的共享內(nèi)存區(qū) 參數(shù):無(wú) 返回值:int,含義是創(chuàng)建共享內(nèi)存區(qū)的結(jié)果(成功為1,失敗為0)*/int newshm(){ shmid = shmget(IPC_PRIVATE, N, IPC_CREAT|0660)。 short sem_flg。 semflg:調(diào)用函數(shù)的操作類型返回值:成功返回信號(hào)量集的IPC標(biāo)識(shí)符,失敗返回1(4)信號(hào)量操作模板sem_op定義: struct sembuf{ unsigned short sem_num。函數(shù)作用:獲取與某個(gè)鍵關(guān)聯(lián)的信號(hào)量集標(biāo)識(shí)參數(shù)含義:key:所創(chuàng)建或打開(kāi)信號(hào)量集的鍵值。 size:大于0的整數(shù):新建的共享內(nèi)存大小,以字節(jié)為單位 0:只獲取共享內(nèi)存時(shí)指定為0
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1