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

正文內(nèi)容

哲學(xué)家進(jìn)餐問題word版-在線瀏覽

2025-02-26 18:43本頁面
  

【正文】 5。 cerr error code: GetLastError()endl。 } /******************* 哲學(xué)家的行為 吃飯,等待,思考 *******************/ unsigned int __stdcall philosopher(void *k) { int n = ((int *)k)[0]。 srand(time(NULL))。 wait_to_eat(n)。 } outline(n, is out!)。 } /************* 思考 隨機(jī)一段時間 *************/ void thinking(int k) { outline(k, is thinking...)。 } /************* 吃飯 隨機(jī)一段時間 *************/ void eating(int k) { outline(k, is eating...)。 LeaveCriticalSection(fork + (k+1)%5)。 LeaveCriticalSection(fork + k)。 } /*************** 等待吃飯 需要同時 獲得他兩邊的筷子 ***************/ void wait_to_eat(int k) { outline(k, is waiting...)。//獲得左邊的筷子 //outline(k, take left)。//獲得右邊的筷子 //outline(k, take right)。crout)。 LeaveCriticalSection(amp。 } /******************** 哲學(xué)家進(jìn)餐問題 在多線程中如何避免死鎖。為了吃飯,哲學(xué)家必須拿起兩雙筷子(分 別放于左右兩端)不幸的是,筷子的數(shù)量和哲學(xué)家相等,所以每 只筷子必須由兩位哲學(xué)家共享 下面是一種有問題的解法,因?yàn)樵谀硞€時刻,五個哲學(xué)家同時拿起五根左手邊的筷子, 則它們會在同一時候?qū)Υ沂诌叺目曜樱@樣會陷入死鎖,但是我測試了,這樣的幾 率并不高經(jīng)過幾個小時,還沒有出現(xiàn)。 unsigned int __stdcall philosopher(void *)。 void eating(int)。 void outline(int ,const char *)。//這個變量用來保證輸出時不會競爭 CRITICAL_SECTION fork[NUM_OF_PH]。 int i。 int arg[NUM_OF_PH]。 unsigned long retval。crout)。iNUM_OF_PH。 } //創(chuàng)建五個哲學(xué)家 for(i = 0。i++) { arg[i] = i。 if((int)hthread[i] == 1)//如果線程創(chuàng)建失敗返回 1 { cerr error while create thread i endl。 } } //等待所有線程結(jié)束 retval = WaitForMultipleObjects(NUM_OF_PH,hthread,true,INFINITE)。 } for(i = 0。i++) { if(CloseHandle(hthread[i]) == false)//關(guān)閉句柄 { cerr error while close thread iendl。 } } return 0。 outline(n, is in!)。 while(true) { thinking(n)。 eating(n)。 return n。 Sleep((rand()%1000) *NUM_OF_PH)。 Sleep((rand()%1000) *NUM_OF_PH)。//放下右邊的筷 子 outline(k, give left)。//放下左邊的筷子 outline(k, give right)。 EnterCriticalSection(fork + k
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1