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

正文內容

操作系統(tǒng)的課程設計報告(編輯修改稿)

2024-08-31 10:18 本頁面
 

【文章內容簡介】 般的應用程序,而這也是其優(yōu)點之所在吧。Handshake能夠解決常見的編程問題?,F(xiàn)在有一個之間需要互相進行通信的客戶機和一個服務器。開始時,服務器會由于長期無事可做,因此它進入等待狀態(tài),直到客戶機向服務器發(fā)送申請請求通知的時候??蛻魴C想把一個請求提交給服務器時,它它會把請求先放入一個共享內存的緩沖區(qū)中,然后再向服務器發(fā)出一個事件通知。這時候,服務器會從等到狀態(tài)走出,服務器線程會查看數(shù)據(jù)緩沖區(qū)并處理客戶機的請求。相反,當服務器線程忙于處理該請求的時候,客戶機的線程則會進入等待狀態(tài),直到服務器發(fā)出另一個事件通知,指明結果已經準備好。這時候客戶機則要對服務器傳出的結果進行相應的處理。當客戶機再次被喚醒的時候,結果已經放入共享數(shù)據(jù)緩沖區(qū)中,并且客戶機會把最終結果顯示給用戶。當Handshake用程序啟動運行時,它立即創(chuàng)建兩個未通知的自動重置的事件對象。一個事件是用于指明何時為服務器準備一個請求的g_hevtRequestSubmitted,服務器線程用來等待g_hevtRequestSubmitted,而客戶機線程則會發(fā)出通知通知該事件。第二個事件是 g_hevtResultReturned,用來指明何時為客戶機準備好結果??蛻魴C線程等待該事件,而服務器線程則負責發(fā)出該事件的通知。當各個事件創(chuàng)建后,服務器線程就產生ServerThread函數(shù)。該函數(shù)立即讓服務器等待客戶機的請求。然后服務器線程會執(zhí)行該函數(shù), 與此同時,主線程也是客戶機線程也會同時調用 DialogBox函數(shù),該函數(shù)負責顯示應用程序的用戶界面??梢詫⒁恍┪淖州斎?Request域,然后,當點擊 Submit Request ToServer(將請求提交給服務器)時,請求字符串將被放入由客戶機和服務器線程共享的一個緩沖區(qū),并發(fā)出g_hevtRequestSubmitted事件的通知。然后客戶機線程通過等待 g_hevtResultReturened事件來等待服務器的結果。服務器醒來,將共享內存緩沖區(qū)中的字符串反轉,然后發(fā)出 g_hevtResultReturned事件的通知。服務器的線程循環(huán)運行,以便等待客戶機的另一個請求。該應用程序決不會調用ResetEvent函數(shù),因為沒有必要。自動重置的事件在等待成功后會自動恢復未通知狀態(tài)。與此同時,客戶機線程發(fā)現(xiàn) g_hevtResultReturned事件已經變?yōu)橐淹ㄖ獱顟B(tài)。它醒來,并將字符串從共享內存緩沖區(qū)拷貝到用戶界面的 Result域。關閉該應用程序時,只需要關閉它的對話框即可。這會導致調用的 _tWinMain中的DialogBox函數(shù)返回。這時,主線程將一個特殊字符串拷貝到共享緩沖區(qū),并喚醒服務器的線程,以便處理該特殊請求。主線程等待服務器線程確認請求已經收到,并等待服務器線程終止運行。當服務器線程發(fā)現(xiàn)該特殊的客戶機請求字符串時,它就退出循環(huán),而該線程則終止運行。主線程等待服務器線程終止運行的方法是調用 WaitForMultipleObjects函數(shù),這樣,就可以看到該函數(shù)是如何使用的。實際上,也可以調用 WaitForSingleObject函數(shù),傳遞服務器線程的句柄,一切將以完全相同的方式來運行。一旦主線程知道服務器線程已經停止運行后,我將 3次調用CloseHandle函數(shù),以便正確地撤消應用程序正在使用的所有內核對象。當然,系統(tǒng)能夠自動執(zhí)行這項操作,但是如果我自己進行操作,我的感覺會更好些。我喜歡能夠隨時控制我的代碼。第三章 實現(xiàn)描述include ..\ /**//* See Appendix A. */include include include // For beginthreadexinclude // 當客戶端從服務器返回時該事件被通知(客戶端將字符放入共享緩存時被通知)HANDLE g_hevtRequestSubmitted。// 當服務器完成翻轉字符串時該事件被通知HANDLE g_hevtResultReturned。// 客戶端和服務器共享的緩存區(qū)TCHAR g_szSharedRequestAndResultBuffer[1024]。// 客戶端發(fā)送這個指定的值導致服務端線程終止TCHAR g_szServerShutdown[] = TEXT(Server Shutdown)。// 這些代碼被服務器端線程執(zhí)行DWORD WINAP
點擊復制文檔內容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1