linux多線程的互斥與同步控制及實(shí)踐

linux多線程的互斥與同步控制及實(shí)踐

ID:34519175

大小:327.87 KB

頁數(shù):4頁

時(shí)間:2019-03-07

linux多線程的互斥與同步控制及實(shí)踐_第1頁
linux多線程的互斥與同步控制及實(shí)踐_第2頁
linux多線程的互斥與同步控制及實(shí)踐_第3頁
linux多線程的互斥與同步控制及實(shí)踐_第4頁
資源描述:

《linux多線程的互斥與同步控制及實(shí)踐》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、應(yīng)用研究電腦知識(shí)與技術(shù)!"#$%多線程的互斥與同步控制及實(shí)踐劉俞安徽工業(yè)大學(xué)職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系!安徽馬鞍山-./000摘要#隨著計(jì)算機(jī)軟硬件的發(fā)展!對(duì)計(jì)算機(jī)的執(zhí)行效率的要求不斷提高!多線程技術(shù)應(yīng)運(yùn)而生!現(xiàn)在被許多操作系統(tǒng)所支持"本文介紹了多線程系統(tǒng)中互斥與同步機(jī)制!在!"#$%系統(tǒng)下利用信號(hào)量操作及利用&’()*+,多線程函數(shù)編程實(shí)現(xiàn)多線程間的互斥與同步控制!并以生產(chǎn)者和消費(fèi)者問題為例進(jìn)行分析與實(shí)踐"關(guān)鍵詞#線程#多線程#互斥#同步#互斥鎖#信號(hào)量中圖分類號(hào)#23/4"文獻(xiàn)標(biāo)識(shí)碼#5"線程!#$%&’("的引入線程間的互斥是為了避免對(duì)臨界資源的同時(shí)使進(jìn)程是程序執(zhí)行的動(dòng)態(tài)過程"是系統(tǒng)分配軟硬件

2、用"從而避免因此而產(chǎn)生的不可預(yù)料的后果!臨界資源資源的最小單位!而線程是進(jìn)程產(chǎn)生的分支"是更小的是那些一次只能被一個(gè)線程使用的資源"在計(jì)算機(jī)系執(zhí)行實(shí)體"但系統(tǒng)并不給它分配任何資源"它共享創(chuàng)建統(tǒng)中有很多軟硬件資源都屬于臨界資源"如變量#堆它的進(jìn)程所擁有的資源!同一進(jìn)程內(nèi)的所有線程共享?xiàng)?鏈表#隊(duì)列#打打印機(jī)等!使用臨界資源的那段代碼同一內(nèi)存地址空間"因而線程間的切換將不再需要資就稱為臨界區(qū)"互斥就是兩個(gè)或兩個(gè)以上的共用同一源信息的保存和進(jìn)行地址空間的變換"減少了系統(tǒng)開資源的線程不能同時(shí)進(jìn)入該資源的臨界區(qū)"它可以保銷"提高了系統(tǒng)效率和程序的并發(fā)性!在N2(9S系統(tǒng)中證對(duì)資源操作的正確性和完整性!由

3、此可以看出線程也引入了線程的概念與多線程機(jī)制!間的互斥關(guān)系是由于對(duì)共有資源的競(jìng)爭(zhēng)而產(chǎn)生的間接)*+,-.中的線程機(jī)制制約"線程之間并沒有直接的聯(lián)系!N2(9S內(nèi)核使用的仍是進(jìn)程模型"而不是線程模實(shí)現(xiàn)線程間的互斥一般可通過兩種途徑實(shí)現(xiàn)W型!N2(9S內(nèi)核為創(chuàng)建線程提供了一種輕量級(jí)的進(jìn)程模一是通過設(shè)置互斥鎖及其操作%加鎖#解鎖&來實(shí)型框架"而線程的真正實(shí)現(xiàn)是在用戶空間中!N2(9S系現(xiàn)"流程為X圖%Y$統(tǒng)提供了用戶級(jí)線程和核心級(jí)線程"核心級(jí)線程由系統(tǒng)內(nèi)核進(jìn)行管理"其提供相應(yīng)的系統(tǒng)調(diào)用和應(yīng)用程序"接口EF’!對(duì)于用戶級(jí)線程的管理"它提供了在用戶空間執(zhí)行的線程庫"目前可用的線程庫有N2(9SR1+*4

4、6;#二是通過設(shè)置共用信號(hào)量及F#A原語操作來實(shí)TIFR#TFRN等多種"大部分/2(9S發(fā)行版本都已安裝現(xiàn)"流程為X圖!Y$了/2(9S)1+*46的0)1+*46函數(shù)庫"它是基于FU=’V標(biāo)準(zhǔn)!的!本文就是以N2(9SR1+*46;庫為基礎(chǔ)進(jìn)行研究和設(shè)計(jì)的!/線程間的互斥與同步其中"F操作對(duì)信號(hào)量減一"A操作對(duì)信號(hào)量加一!/01互斥!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!名!,!-.45267$8+9:/2(;<2=>?)@2(:?"A2;94/BCC3$"技結(jié)束語術(shù)內(nèi)幕$北京$希望電子出版社隨著’()*+(*)的迅速發(fā)展和日益普及"信息安全理,D

5、-劉杰等"E=F輕松開發(fā)@*G網(wǎng)站!北京$希望電論與技術(shù)越來越顯示其重要地位!公安動(dòng)態(tài)信息系統(tǒng)子出版社克服傳統(tǒng)工作過程復(fù)雜#效率低#準(zhǔn)確性差的缺點(diǎn)"提,H-朱文余等"計(jì)算機(jī)密碼應(yīng)用基礎(chǔ)!北京$科學(xué)出高了公安系統(tǒng)的效率及信息傳遞的準(zhǔn)確性#及時(shí)性!版社參考文獻(xiàn)!,#-I4J/*B?KKL4("=MN=OPAOPQR1*B?L0/*)*,%-靜海"深入.*/0123網(wǎng)絡(luò)編程!北京$中國鐵道出P*K*+*(>*參考手冊(cè)$北京$希望電子出版社版社收稿日期$!""#年#月!""#$%&&’電腦知識(shí)與技術(shù)應(yīng)用研究在!"#$%中用&$’()定義信號(hào)量!&*’("#")((+函數(shù)對(duì)0)C5*.4,’$)*%,9

6、1DF用于對(duì)互斥體進(jìn)行加鎖操作信號(hào)量進(jìn)行化!&*’,-.")函數(shù)實(shí)現(xiàn)+操作"被用來阻塞&互斥鎖被置為91DF*4’3若互斥鎖被原來就為91DF*4"當(dāng)前線程直到信號(hào)量的值大于/"解除阻塞后將信號(hào)量則當(dāng)前線程被阻塞!的值減一!&*’,01&)函數(shù)實(shí)現(xiàn)2操作"用來對(duì)信號(hào)量的0)C5*.4,’$)*%,$#91DF用于用于對(duì)互斥體進(jìn)行解鎖值加一"當(dāng)加一后若信號(hào)量的值小于等于/3則喚醒一操作<互斥鎖被置為$#91DF*4>"喚醒被鎖定的線程!個(gè)被阻塞在這個(gè)信號(hào)量上的線程!信號(hào)量使用完畢后"0)C5*.4,’$)*%,4*&)516用于銷毀互斥鎖#可用函數(shù)&*’,4*&)516用來釋放信號(hào)量#,-/同步

7、控制"!"#同步0)C5*.4,D1#4,)用于定義條件變量!線程間的同步是因?yàn)樗鼈冎g有相互的聯(lián)系"它0)C5*.4,D1#4,"#")函數(shù)用于初始化一個(gè)條件變量!們相互合作$相互等待"一個(gè)線程的執(zhí)行結(jié)果是另一個(gè)0)C5*.4,D1#4,-.")函數(shù)使線程阻塞在一個(gè)條件變線程能夠執(zhí)行的前提條件"因而各線程必須被控制按量上3并同時(shí)可以解開互斥鎖"因此可以避免死鎖的產(chǎn)一定的速度執(zhí)行#例如后面研究的生

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。