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

正文內容

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

2024-12-26 14:45 本頁面


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