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

正文內容

進程之間的同步互斥與通信理發(fā)師問題操作系統課程設計-在線瀏覽

2025-02-27 14:45本頁面
  

【正文】 n 實現對兩個線程的控制和執(zhí)行操作。理發(fā)師對隊列中的顧客進行先到先服務的原則理發(fā)。 int chairs。 char close_door。 int finish(0)。 HANDLE barbers =::CreateSemaphore(NULL, 1,1, barbers)。 8. 系統調用說明 ( 1) CreateThread():創(chuàng)建線程 ( 2) CreateMutex() : 找出當前系統是否已經存在指定進程的實例。如果一個線程獲取了互斥體,則要獲取該互斥體的第二個線程將被掛起,直到第一個線程釋放該互斥體。 作用是 創(chuàng)建一個新的信號機 , 執(zhí)行成功,返回信號機對象 的句柄;零表示出錯 。它的所有句柄都關信息科學與工程學院軟件實踐實訓報告 5 閉以后,對象自己也會刪除 。 Semaphore 是一個同步問題機制,不論是 Event 或 Mutex,其他 Process 在執(zhí) WaitForSingleObject 時,就看當時的物件是 Signal 或 UnSignal 而決定是否等待,而 Semaphore 也相同,但是它要變成Signal /UnSignal 的狀態(tài),卻有些不同,它是提供一個計數值,它允許在這個計數值之內,任何執(zhí)行到 WaitForSingleObject 的 Thread 都不會停下來,而且每執(zhí)行 WaitForSingleObject一次,計數值就減一,當計數值變成 0 時,該 Semaphore 才會處於 UnSignal 的狀態(tài),而某個 Thread ReleaseSemaphore 時,便會將計數值增加,以便其他的 Thread 或本身可得 Signal的訊號,而使 WaitForSingleObject 停止等待。如果成功,就調用信號 機上的一個等待函數來減少它的計數 。參數 dwMilliseconds 有兩個具有特殊意義的值: 0 和 INFINITE。 ( 6) ResumeThread() :線程恢復函數,使用該函數能激活線程的運行, 使 CPU 分配資源讓線程恢復運行 。 實現顧客與理發(fā)師對公用緩存區(qū)的互斥操作 HANDLE barbers =::CreateSemaphore(NULL, 1,1, barbers)。 ::WaitForSingleObject(customers,INFINITE)。 申請操作顧客與理發(fā)師公用的緩存區(qū) ::ReleaseSemaphore(barbers,1,NULL)。 釋放信號量 Mutex,允許顧客操作緩存區(qū) 10. 算法流程圖 程序開始 鍵入店中的椅子數 信息科學與工程學院軟件實踐實訓報告 6 11. 分工代碼 include include include int long waiting(0)。 //店中椅子的總數目 char open_door。 //關門 int count(0)。 //已經理完發(fā)的顧客人數 DWORD a。 //用來實現進程的互斥 HANDLE barbers =::CreateSemaphore(NULL, 1,1, barbers)。 //定義信號量來進行線程間的同步 int random() //定義隨機函數來產生顧客 , 并使兩個顧客間的時間少于 15 秒 { return (rand()*15000)/RAND_MAX。 cout理發(fā)結束 !endl。//p(customers), 等待顧客 ::WaitForSingleObject(Mutex,INFINITE)。 //等待的人數減 1 ::ReleaseSemaphore(barbers,1,NULL)。 //喚醒顧客進程 ::ReleaseMutex(Mutex)。 cuthair()。 } return 0。 //等待理發(fā)的顧客人數
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1