實(shí)驗(yàn)七 線程的同步與互斥_第1頁
實(shí)驗(yàn)七 線程的同步與互斥_第2頁
實(shí)驗(yàn)七 線程的同步與互斥_第3頁
實(shí)驗(yàn)七 線程的同步與互斥_第4頁
實(shí)驗(yàn)七 線程的同步與互斥_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

實(shí)驗(yàn)七線程的同步與互斥實(shí)驗(yàn)?zāi)康模壕€程是現(xiàn)代操作系統(tǒng)中的重要概念之一。引入線程后,操作系統(tǒng)分配資源還是以進(jìn)程為單位,但處理機(jī)卻不再以進(jìn)程,而是以線程為單位進(jìn)行分配。引入線程后,不但能有效提高系統(tǒng)中的并發(fā)道數(shù),而且還會(huì)使系統(tǒng)減少并發(fā)操作帶來的切換開銷。為了對(duì)并發(fā)的線程(進(jìn)程)進(jìn)行同步與互斥,各種操作系統(tǒng)都相繼添加了對(duì)互斥體、信號(hào)量的支持。通過該實(shí)驗(yàn),體會(huì)線程的同步與互斥,并進(jìn)一步理解臨界資源的互斥訪問、信號(hào)量的使用方法等,從而體會(huì)操作系統(tǒng)對(duì)線程(進(jìn)程)的同步、互斥的處理能力。實(shí)驗(yàn)要求:在老師的指導(dǎo)下完成實(shí)驗(yàn)。要求寫出實(shí)驗(yàn)具體步驟,給出實(shí)驗(yàn)結(jié)果,解釋實(shí)驗(yàn)中出現(xiàn)的現(xiàn)象。實(shí)驗(yàn)題目:建立兩個(gè)飛機(jī)售票點(diǎn)的售票線程shop1,shop2,它們各自進(jìn)行售票活動(dòng)(并發(fā))。假如一趟班機(jī)有座位200個(gè),所能售的飛機(jī)票標(biāo)號(hào)應(yīng)為200,199,198,……,1。在該實(shí)驗(yàn)中,讓兩個(gè)售票點(diǎn)各自不加控制地進(jìn)行獨(dú)立售票,則可能會(huì)發(fā)生與實(shí)際不相符的混亂情況,甚至還會(huì)售出標(biāo)號(hào)為0的票。請(qǐng)用代碼實(shí)現(xiàn)該實(shí)驗(yàn),并想想這是為什么?田畫wlclassesDWORDWINAPIShop2()while(1)if(tickets>8)printF("shop2issellingaticketsd\ntickets——;丘\n",tickets)elsereturn0;■jClassV._gFileView|囹“E:\12210136\w1\Debug\w1.ewe'shoplissellingatickets:12shop2issellingatickets:11shop2issellingatickets:9shop2issellingatickets:8田畫wlclassesDWORDWINAPIShop2()while(1)if(tickets>8)printF("shop2issellingaticketsd\ntickets——;丘\n",tickets)elsereturn0;■jClassV._gFileView|囹“E:\12210136\w1\Debug\w1.ewe'shoplissellingatickets:12shop2issellingatickets:11shop2issellingatickets:9shop2issellingatickets:8shop2issellingatickets:7shop2isseHingatickets:6shop2isseHingatickets:5shop2isseHingatickets:4shop2isseHingatickets:3shop2isseHingatickets:22d-JCompilingIww.cppLinking..Configuration:w1-Win32Ishop2isseHingatickets:1shoplisseHingatickets:0IPfes:#anykeytocontinueShop1()EnterCriticalSection(&g_cs);if(tickets>8)while(1)bcunam.cDD賣票出現(xiàn)混亂,沒有一個(gè)可以來保證Shopl與Shop2按秩序的賣票機(jī)制,他們需要一個(gè)臨界區(qū)來限定買票,否則因?yàn)闆]有秩序,Shopl會(huì)Sleep(1),然后Shop2就只會(huì)自顧自的賣票對(duì)上面的兩個(gè)售票點(diǎn)的售票操作用臨界區(qū)加以控制,使得售出的票不會(huì)有不符合實(shí)際情況的票號(hào)出現(xiàn)。tinclude<stdio.h>tinclude<afxmt.h>>M0RDWINAPIShop1();■WORDWINAPIShop2();:RITICALSECTIONgcs;HANDLEhThread1=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Shop1,NULL,0,NULL);HANDLE]hThread2=CreateThread(NULL,0,(LPTHREADZsTfiRTZROUTINE)Shop2,NULL,0,NULL);Sleep(10000);CloseHandle(hThread1);CloseHandle(hThread2);Sleep(1O0);DeleteCriticalSection(&g_cs);return6;Sleepd);printF("shop1issellingatickets:^d\n

shopl與shop2有順序的在賣票實(shí)驗(yàn)小結(jié)多個(gè)線程可以并發(fā)的執(zhí)行,并發(fā)并不是單純的指同一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論