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

正文內(nèi)容

操作系統(tǒng)實(shí)驗(yàn)報告(已修改)

2025-08-17 08:26 本頁面
 

【正文】 實(shí)驗(yàn)一(生產(chǎn)者—消費(fèi)者)一. 實(shí)驗(yàn)題目 生產(chǎn)者與消費(fèi)者實(shí)驗(yàn)二. 實(shí)驗(yàn)?zāi)康募由钸M(jìn)程的概念的理解,明確進(jìn)程與程序的區(qū)別,深入認(rèn)識程序并發(fā)執(zhí)行的實(shí)質(zhì),理解進(jìn)程競爭資源的現(xiàn)象,互斥與同步的基本概念,掌握相關(guān)的API的使用,了解多線程的并發(fā)執(zhí)行機(jī)制,實(shí)現(xiàn)線程的同步與互斥的基本方法。三. 實(shí)驗(yàn)內(nèi)容分析已編制的一個“生產(chǎn)者—消費(fèi)者”實(shí)例,并將缺失的代碼補(bǔ)充完整,然后調(diào)試這段程序,得出最終的結(jié)果,并分析此結(jié)果,得出相應(yīng)的結(jié)論,嘗試改變一些參數(shù),分析這一改變對結(jié)果的影響。四. 設(shè)計(jì)思路和算法1. 利用windows提供的API函數(shù)CreateSemaphore()創(chuàng)建信號量對象;Create Thread()創(chuàng)建線程;WaitForSingleObject()執(zhí)行P操作;Release Semaphore()執(zhí)行V操作;WaitForMultipleObjects()主進(jìn)程等待線程的結(jié)束等函數(shù)進(jìn)行設(shè)計(jì)。2. 在Windows中,常見的同步對象有:信號量(Semaphore)、互斥量(Mutex) 。使用這些對象都分為三個步驟,一是創(chuàng)建或者初始化;接著請求該同步對象,隨即進(jìn)入臨界區(qū),這一步對應(yīng)于互斥量的上鎖;最后釋放該同步對象,這對應(yīng)于互斥量的解鎖。這些同步對象在主進(jìn)程中創(chuàng)建,在其子線程中都可五.主要數(shù)據(jù)結(jié)構(gòu)每個進(jìn)程有一個進(jìn)程控制塊( PCB)表示。進(jìn)程控制塊可以包含如下信息:進(jìn)程類型標(biāo)號、進(jìn)程系統(tǒng)號、進(jìn)程狀態(tài)(本程序未用)、進(jìn)程產(chǎn)品(字符)、進(jìn)程鏈指針等等。 系統(tǒng)開辟了一個緩沖區(qū),大小由buffersize指定。程序中有三個鏈隊(duì)列,一個鏈表。一個就緒隊(duì)列(ready),兩個等待隊(duì)列:生產(chǎn)者等待隊(duì)列(producer);消費(fèi)者隊(duì)列(consumer)。一個鏈表(over),用于收集已經(jīng)運(yùn)行結(jié)束的進(jìn)程本程序通過函數(shù)模擬信號量的原子操作。六.程序運(yùn)行結(jié)果運(yùn)行程序后的結(jié)果:生產(chǎn)者1準(zhǔn)備生產(chǎn)生產(chǎn)者1開始往緩沖區(qū)中寫數(shù)據(jù)生產(chǎn)者1開始退出緩沖區(qū)...生產(chǎn)者2準(zhǔn)備生產(chǎn)生產(chǎn)者2開始往緩沖區(qū)中寫數(shù)據(jù)生產(chǎn)者2開始退出緩沖區(qū)...消費(fèi)者1準(zhǔn)備消費(fèi)消費(fèi)者1開始消費(fèi)緩沖區(qū)中數(shù)據(jù)消費(fèi)者1開始退出緩沖區(qū)...生產(chǎn)者3準(zhǔn)備生產(chǎn)生產(chǎn)者3開始往緩沖區(qū)中寫數(shù)據(jù)生產(chǎn)者3開始退出緩沖區(qū)...消費(fèi)者2準(zhǔn)備消費(fèi)消費(fèi)者2開始消費(fèi)緩沖區(qū)中數(shù)據(jù)消費(fèi)者2開始退出緩沖區(qū)...生產(chǎn)者4準(zhǔn)備生產(chǎn)生產(chǎn)者4開始往緩沖區(qū)中寫數(shù)據(jù)生產(chǎn)者4開始退出緩沖區(qū)...消費(fèi)者3準(zhǔn)備消費(fèi)消費(fèi)者3開始消費(fèi)緩沖區(qū)中數(shù)據(jù)消費(fèi)者3開始退出緩沖區(qū)...生產(chǎn)者5準(zhǔn)備生產(chǎn)生產(chǎn)者5開始往緩沖區(qū)中寫數(shù)據(jù)生產(chǎn)者5開始退出緩沖區(qū)...消費(fèi)者4準(zhǔn)備消費(fèi)消費(fèi)者4開始消費(fèi)緩沖區(qū)中數(shù)據(jù)消費(fèi)者4開始退出緩沖區(qū)...生產(chǎn)者6準(zhǔn)備生產(chǎn)生產(chǎn)者6開始往緩沖區(qū)中寫數(shù)據(jù)生產(chǎn)者6開始退出緩沖區(qū)...消費(fèi)者5準(zhǔn)備消費(fèi)消費(fèi)者5開始消費(fèi)緩沖區(qū)中數(shù)據(jù)消費(fèi)者5開始退出緩沖區(qū)...生產(chǎn)者7準(zhǔn)備生產(chǎn)生產(chǎn)者7開始往緩沖區(qū)中寫數(shù)據(jù)生產(chǎn)者7開始退出緩沖區(qū)...消費(fèi)者6準(zhǔn)備消費(fèi)消費(fèi)者6開始消費(fèi)緩沖區(qū)中數(shù)據(jù)消費(fèi)者6開始退出緩沖區(qū)...生產(chǎn)者8準(zhǔn)備生產(chǎn)生產(chǎn)者8開始往緩沖區(qū)中寫數(shù)據(jù)生產(chǎn)者8開始退出緩沖區(qū)...消費(fèi)者7準(zhǔn)備消費(fèi)消費(fèi)者7開始消費(fèi)緩沖區(qū)中數(shù)據(jù)消費(fèi)者7開始退出緩沖區(qū)...生產(chǎn)者9準(zhǔn)備生產(chǎn)生產(chǎn)者9開始往緩沖區(qū)中寫數(shù)據(jù)生產(chǎn)者9開始退出緩沖區(qū)...消費(fèi)者8準(zhǔn)備消費(fèi)消費(fèi)者8開始消費(fèi)緩沖區(qū)中數(shù)據(jù)消費(fèi)者8開始退出緩沖區(qū)...生產(chǎn)者10準(zhǔn)備生產(chǎn)生產(chǎn)者10開始往緩沖區(qū)中寫數(shù)據(jù)生產(chǎn)者10開始退出緩沖區(qū)...消費(fèi)者9準(zhǔn)備消費(fèi)消費(fèi)者9開始消費(fèi)緩沖區(qū)中數(shù)據(jù)消費(fèi)者9開始退出緩沖區(qū)...消費(fèi)者10準(zhǔn)備消費(fèi)消費(fèi)者10開始消費(fèi)緩沖區(qū)中數(shù)據(jù)消費(fèi)者10開始退出緩沖區(qū)...七.源程序includeincludeincludeincludestringincludedefine MAX_BUFFER_NUM 10define INTE_PER_SEC 1000define MAX_THREAD_NUM 64strict ThreadInfo{ into serial。 char entity。 double delay。 into thread_request[MAX_THREAD_NUM]。 into n_request。 }。CRITICAL_SECTION PC_Critical[MAX_BUFFER_NUM]。 into Buffer_Critical[MAX_BUFFER_NUM]。 HANDLE h_Thread[MAX_THREAD_NUM]。 ThreadInfo Thread_Info[MAX_THREAD_NUM]。 HANDLE empty_semaphore。 HANDLE h_mutex。 DWORD n_Thread = 0。 DWORD n_Buffer_or_Critical。 HANDLE h_Semaphore[MAX_THREAD_NUM]。void Produce(void *p)。void Consume(void *p)。 bool IfInOtherRequest(into)。into FindProducePositon()。into FindBufferPosition(into)。into main(void){ DWORD wait_for_all。 ifstream inFile。 for(into i=0。i MAX_BUFFER_NUM。i++) Buffer_Critical[i] = 1。 for(into j=0。jMAX_THREAD_NUM。j++){ for(into k=0。kMAX_THREAD_NUM。k++) Thread_Info[j].thread_request[k] = 1。 Thread_Info[j].n_request = 0。 } for(i =0。i MAX_BUFFER_NUM。i++) InitializeCriticalSection(amp。PC_Critical[i])。 ()。 inFile n_Buffer_or_Critical。 ()。 printf(輸入文件是:\n)。 printf(%d \n,(into) n_Buffer_or_Critical)。 while(inFile){ inFile Thread_Info[n_Thread].serial。 inFile Thread_Info[n_Thread].entity。 inFile Thread_Info[n_Thread].delay。 char c。 (c)。 while(c!=3
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1