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

正文內(nèi)容

進(jìn)程之間的同步互斥與通信理發(fā)師問題操作系統(tǒng)課程設(shè)計(jì)-文庫吧

2025-05-18 09:45 本頁面


【正文】 對(duì)理發(fā)師行為的控制。 ( 6)定義主函數(shù) main 實(shí)現(xiàn)對(duì)兩個(gè)線程的控制和執(zhí)行操作。 信息科學(xué)與工程學(xué)院軟件實(shí)踐實(shí)訓(xùn)報(bào)告 4 5. 設(shè)計(jì)分工 成員:李寧 侯紹立 分工: 理發(fā)師進(jìn)程、信號(hào)量的設(shè)置、理發(fā)師函數(shù) : xxx 顧客進(jìn)程、顧客函數(shù)、主函數(shù): xx 6. 數(shù)據(jù)結(jié)構(gòu)說明 本程序用到了數(shù)據(jù)結(jié)構(gòu)中的隊(duì)列,理發(fā)的顧客由隨機(jī)函數(shù)產(chǎn)生,顧客遵從先到先理發(fā)的原則,但隊(duì)列的長(zhǎng)度限制為輸入的理發(fā)店中的椅子的個(gè)數(shù),當(dāng)理發(fā)店的椅子沒有空位的時(shí)候,到來的顧客主動(dòng)退出加入隊(duì)列。理發(fā)師對(duì)隊(duì)列中的顧客進(jìn)行先到先服務(wù)的原則理發(fā)。 7. 系統(tǒng)結(jié)構(gòu)說明 (一)頭文件聲明 include include include (二) 定義各種變量 int long waiting(0)。 int chairs。 char open_door。 char close_door。 int count(0)。 int finish(0)。 (三) 信號(hào)量的定義 HANDLE Mutex =::CreateMutex(NULL, FALSE, Mutex)。 HANDLE barbers =::CreateSemaphore(NULL, 1,1, barbers)。 HANDLE customers =::CreateSemaphore(NULL,0,3,customers)。 8. 系統(tǒng)調(diào)用說明 ( 1) CreateThread():創(chuàng)建線程 ( 2) CreateMutex() : 找出當(dāng)前系統(tǒng)是否已經(jīng)存在指定進(jìn)程的實(shí)例。如果沒有則創(chuàng)建一個(gè)互斥體 , 用來同步。如果一個(gè)線程獲取了互斥體,則要獲取該互斥體的第二個(gè)線程將被掛起,直到第一個(gè)線程釋放該互斥體。 CreateMutex()函數(shù)可用來創(chuàng)建一個(gè)有名或無名的互斥量對(duì)象 ( 3) CreateSemaphore(): CreateSemaphore() 是系統(tǒng)提供的 API,包含 在 中,應(yīng)用在同步的處理中。 作用是 創(chuàng)建一個(gè)新的信號(hào)機(jī) , 執(zhí)行成功,返回信號(hào)機(jī)對(duì)象 的句柄;零表示出錯(cuò) 。 一旦不再需要,一定記住用 CloseHandle 關(guān)閉信號(hào)機(jī)的句柄。它的所有句柄都關(guān)信息科學(xué)與工程學(xué)院軟件實(shí)踐實(shí)訓(xùn)報(bào)告 5 閉以后,對(duì)象自己也會(huì)刪除 。 一旦值大于零,信號(hào)機(jī)就會(huì)觸發(fā)(發(fā)出信號(hào))。 Semaphore 是一個(gè)同步問題機(jī)制,不論是 Event 或 Mutex,其他 Process 在執(zhí) WaitForSingleObject 時(shí),就看當(dāng)時(shí)的物件是 Signal或 UnSignal而決定是否等待,而 Semaphore 也相同,但是它要變成Signal /UnSignal 的狀態(tài),卻有些不同,它是提供一個(gè)計(jì)數(shù)值,它允許在這個(gè)計(jì)數(shù)值之內(nèi),任何執(zhí)行到 WaitForSingleObject 的 Thread 都不會(huì)停下來,而且每執(zhí)行 WaitForSingleObject一次,計(jì)數(shù)值就減一,當(dāng)計(jì)數(shù)值變成 0 時(shí),該 Semaphore 才會(huì)處於 UnSignal的狀態(tài),而某個(gè) Thread ReleaseSemaphore 時(shí),便會(huì)將計(jì)數(shù)值增加,以便其他的 Thread 或本身可得 Signal的訊號(hào),而使 WaitForSingleObject 停止等待。 ( 4) ReleaseSemaphore(): ReleaseSemaphore() 函數(shù)的作用是增加信號(hào)機(jī)的計(jì)數(shù)。如果成功,就調(diào)用信號(hào) 機(jī)上的一個(gè)等待函數(shù)來減少它的計(jì)數(shù) 。 ( 5) WaitForSingleObject() : 函數(shù)用來檢測(cè) hHandle 事件的信號(hào)狀態(tài),在某一線程中調(diào)用該函數(shù)時(shí),線程暫時(shí)掛起,如果在掛起的 dwMilliseconds 毫秒內(nèi),線程所等待的對(duì)象變?yōu)橛行盘?hào)狀態(tài),則該函數(shù)立即返回;如果超時(shí)時(shí)間已經(jīng)到達(dá) dwMilliseconds 毫秒,但 hHandle 所指向的對(duì)象還沒有變成有信號(hào)狀態(tài),函數(shù)照樣返回。參數(shù) dwMilliseconds 有兩個(gè)具有特殊意義的值: 0 和 INFINITE。若為 0,則該函數(shù)立即返回;若為 INFINITE,則 線程一直被掛起,直到 hHandle 所指向的對(duì)象變?yōu)橛行盘?hào)狀態(tài)時(shí)為止。 ( 6) ResumeThread() :線程恢復(fù)函數(shù),使用該函數(shù)能激活線程的運(yùn)行, 使 CPU 分配資源
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1