版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、如今,多核處理器發(fā)展迅猛,促使多線程的應(yīng)用越來(lái)越廣泛。多線程程序雖然提高了運(yùn)行速度和資源利用率,但是程序中極易含有并發(fā)錯(cuò)誤?,F(xiàn)有的針對(duì)多線程程序的研究或工具主要集中在并發(fā)錯(cuò)誤的檢測(cè)上。然而,無(wú)論是工具檢測(cè)出的錯(cuò)誤還是錯(cuò)誤報(bào)告中用戶提交的錯(cuò)誤,被發(fā)現(xiàn)后都需要程序員參與調(diào)試。
調(diào)試是軟件開發(fā)過(guò)程中不可或缺的一個(gè)重要環(huán)節(jié)。對(duì)于單線程程序而言,程序員可以通過(guò)設(shè)置斷點(diǎn)或者輸出日志等方式進(jìn)行調(diào)試。而對(duì)多線程程序而言,這些方式都不再適用,由
2、于線程的調(diào)度由調(diào)度器決定,存在著調(diào)度的不確定性,故而不同的線程調(diào)度可能產(chǎn)生不同的結(jié)果,這給多線程程序的調(diào)試帶來(lái)了很大困難。因此,程序員對(duì)于可靠的多線程程序的調(diào)試技術(shù)的需求越來(lái)越迫切。為調(diào)試多線程程序,最重要的在于控制程序執(zhí)行時(shí)多線程的調(diào)度,即在程序中插入控制代碼。最初,程序員會(huì)在源代碼中添加Thread.sleep(),這仍然是目前使用最為廣泛的控制調(diào)度的方式之一。有時(shí)候,程序員也會(huì)通過(guò)在源代碼中添加Object.wait()/noti
3、fy()這樣的代碼以達(dá)到控制線程調(diào)度的目的。然而,這兩種方式都存在弊端,容易造成錯(cuò)誤的誤報(bào)或者漏報(bào)。近些年,研究者提出了如ConAn、MultithreadedTC、IMunit等這類測(cè)試框架,但它們并不易于程序員使用,并且隨著多線程程序的錯(cuò)誤越來(lái)越復(fù)雜,現(xiàn)有的技術(shù)已經(jīng)不能滿足程序員的調(diào)試需求。
本研究對(duì)實(shí)際項(xiàng)目中發(fā)生的多線程錯(cuò)誤進(jìn)行了分析,總結(jié)出四種程序員可能面臨的多線程程序調(diào)試場(chǎng)景:基于行的一般性線程切換、控制邏輯運(yùn)算符間
4、的線程切換、控制函數(shù)調(diào)用鏈間的線程切換、以及控制循環(huán)相關(guān)的線程切換。為了幫助程序員對(duì)這四類多線程程序進(jìn)行調(diào)試,本文定義了順序點(diǎn)這一概念,以及需要滿足的調(diào)度約束,提出了基于順序點(diǎn)的調(diào)試技術(shù),并設(shè)計(jì)了針對(duì)多線程程序調(diào)試場(chǎng)景的領(lǐng)域特定語(yǔ)言。本研究采用了字節(jié)碼層面而非源代碼層面的代碼插樁技術(shù),從而達(dá)到讓線程按照期望的順序調(diào)度的目的,并且對(duì)線程的調(diào)度控制更加靈活和精準(zhǔn)。
基于上述方法,本研究最終實(shí)現(xiàn)了一個(gè)Eclipse上的調(diào)試插件,利用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于java的多線程下載工具的實(shí)現(xiàn)
- 基于JAVA的多線程下載工具的實(shí)現(xiàn).doc
- java多線程編程詳解
- 基于Java字節(jié)碼的多線程數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)方法研究及工具實(shí)現(xiàn).pdf
- java多線程與線程安全實(shí)踐-基于http協(xié)議的斷點(diǎn)續(xù)傳
- AOP在JAVA多線程監(jiān)控中的應(yīng)用.pdf
- java多線程,集合框架(附簡(jiǎn)單代碼)
- 嵌入式多線程遠(yuǎn)程調(diào)試器研究與實(shí)現(xiàn).pdf
- 多線程確定性可回溯調(diào)試系統(tǒng)的研究與實(shí)現(xiàn).pdf
- 嵌入式aCoral多線程調(diào)試器的研究與實(shí)現(xiàn).pdf
- 多線程環(huán)境下Wattch工具的移植與功耗仿真研究.pdf
- android開發(fā)中多線程與ui更新
- 變電站仿真培訓(xùn)系統(tǒng)開發(fā)與調(diào)試工具的研究.pdf
- 基于多線程技術(shù)的虛擬測(cè)控平臺(tái)研究與開發(fā).pdf
- 基于Java多線程的有限元并行計(jì)算的研究.pdf
- DSP內(nèi)存讀取調(diào)試工具的研究與實(shí)現(xiàn).pdf
- 基于JAVA的多線程下載工具的實(shí)現(xiàn)畢業(yè)設(shè)計(jì)任務(wù)書.doc
- 異步多線程網(wǎng)絡(luò)并發(fā)控制系統(tǒng)的研究與開發(fā).pdf
- 基于MES的JAVA多線程處理大數(shù)據(jù)模塊的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 交叉編譯和交叉調(diào)試工具的研究與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論