




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
面向?qū)ο蟪绦蛟O(shè)計(jì)A(Java)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:多線程實(shí)驗(yàn)實(shí)驗(yàn)類型:指導(dǎo)教師:劉涌專業(yè)班級:信安1203姓名:黃學(xué)強(qiáng)學(xué)號:20111899實(shí)驗(yàn)地點(diǎn):東六E301實(shí)驗(yàn)成績:日期:2014年4月30日實(shí)驗(yàn)六多線程實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模壕毩?xí)多線程類的兩種實(shí)現(xiàn)方法,理解多線程程序的生命周期。二、實(shí)驗(yàn)內(nèi)容:編寫一多線程程序,實(shí)現(xiàn)如下功能:(1)一個(gè)線程進(jìn)行階乘和的運(yùn)算(1!+2!+3!+……+30!),每次階乘計(jì)算時(shí)間隨機(jī)間隔0.5-1秒;(2)另一個(gè)線程每隔0.1秒時(shí)間讀取上個(gè)線程的運(yùn)算結(jié)果和計(jì)算進(jìn)程,并在圖形界面中實(shí)時(shí)顯示結(jié)果。三、實(shí)驗(yàn)要求1正確設(shè)計(jì)顯示運(yùn)行結(jié)果和計(jì)算進(jìn)程的圖形用戶界面;2分別采用Thread類的子類和Runable接口兩種方式完成兩個(gè)線程的設(shè)計(jì);3進(jìn)行全面的測試并分析測試結(jié)果;四、實(shí)驗(yàn)設(shè)計(jì)1、先用JavaApplication方式建立應(yīng)用程序框架。其中選用frameonscreen;2、實(shí)現(xiàn)界面設(shè)計(jì)。其中用xyLayout布局。3、用兩種方法實(shí)現(xiàn)多線程方法一、設(shè)計(jì)兩個(gè)線程ComputeThread和ReadThread線程分別繼承Thread線程。ComputeThread線程實(shí)現(xiàn)階乘和運(yùn)算,用for循環(huán)實(shí)現(xiàn)階乘和運(yùn)算。ReadThread線程實(shí)現(xiàn)在窗口顯示結(jié)果和進(jìn)程。方法二、ComputeThread和ReadThread線程分別接口Runnable。運(yùn)算方法同上。五、實(shí)驗(yàn)過程1、按照設(shè)計(jì)的步驟實(shí)現(xiàn)。遇到的問題:Text只顯示到6!解決方法:刪除ReadThread的run()方法下while循環(huán)語句中的count++,因?yàn)镽eadThread線程和ComputeThread線程不同步。2、用setValue()方法顯示進(jìn)度條,setText()方法顯示結(jié)果。六、實(shí)驗(yàn)結(jié)果討論與分析進(jìn)行全面的測試并分析測試結(jié)果;新建——Thread.State.NEW:當(dāng)一個(gè)
Thread
類或者其子類的對象被聲明并創(chuàng)建時(shí),新的線程對象處于新建狀態(tài),此時(shí)它已經(jīng)有了相應(yīng)的內(nèi)存空間和其他資源start方法尚未被調(diào)整用就緒可執(zhí)行狀態(tài)——Thread.State.RUNNABLE:處于新建狀態(tài)的線程被啟動(dòng)后,將進(jìn)入線程隊(duì)列排隊(duì),這個(gè)時(shí)候具備了運(yùn)行的條件,一旦輪到
CPU
的時(shí)候,就可以脫離創(chuàng)建它的主線程獨(dú)立開始自己的生命周期運(yùn)行:就緒的線程被調(diào)度進(jìn)入運(yùn)行狀態(tài),每一個(gè)
Thread
類及其子類的對象都有一個(gè)重要的run方法,當(dāng)線程對象被調(diào)度執(zhí)行的時(shí)候,它將自動(dòng)調(diào)用本對象的
run方法,從第一句代碼開始執(zhí)行。簡要說明你在該實(shí)驗(yàn)中的收獲與體會(huì)。 (1)首先:java
程序是建立在線程之上的。.
(2)創(chuàng)建線程必須繼承
Thread
class
它已經(jīng)為線程的創(chuàng)建和運(yùn)行做了必要的配置。run是線程就重要的方法。你必須覆寫這個(gè)方法達(dá)到你想要的目的。(3)run方法所包含的代碼就是和其他線程同時(shí)運(yùn)行的代碼以達(dá)到同一時(shí)刻運(yùn)行多段代碼的目的。當(dāng)終止了
run以后。這個(gè)線程也就結(jié)束了。調(diào)用線程的
start方法才會(huì)執(zhí)行
run方法。體會(huì):通過實(shí)驗(yàn)設(shè)計(jì)了正確的顯示運(yùn)行結(jié)果和計(jì)算進(jìn)程的圖形用戶界面;完成了對分別采用Thread類的子類和Runable接口兩種方式完成兩個(gè)線程的設(shè)計(jì);并且進(jìn)行全面的測試并分析測試結(jié)果;對Java的學(xué)習(xí)有了很大的提升作用。附錄:代碼階乘運(yùn)算for(n=1;n<=30;n++){save=save*n;//進(jìn)行階乘sum=sum+save;//進(jìn)行階乘和運(yùn)算str="+"+n+"!";str1=str1+str;//字符串相加try{Thread.sleep(500+(int)(Math.random()*500));//隨機(jī)生成05~1秒}catch(InterruptedExceptionex){}}顯示結(jié)果和進(jìn)度條while(true){f.text.setText(ct.str1);//顯示階乘字符f.jd.setValue(ct.n);//顯示進(jìn)度條Strings=String.valueOf(ct.sum);f.text1.setText(s);//顯示結(jié)果try{Thread.sleep(100);//休眠100毫秒}catch(InterruptedExceptionex){}}單擊開始按鈕voidjButton1_actionPerformed(ActionEvente){ComputeThreadct=newComputeThread();ReadThreadrt=newReadThread(ct,this);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年生豬出欄面試試題及答案
- 基坑沙土置換施工方案
- grc輕質(zhì)隔墻施工方案
- 5年級說明文例文
- cba實(shí)驗(yàn)環(huán)境要求
- 單面墻模板施工方案
- 瀝青路面灌縫施工方案
- 余江標(biāo)識標(biāo)牌施工方案
- 石籠擋墻施工方案
- 2025年新疆塔城地區(qū)單招職業(yè)傾向性測試題庫必考題
- 產(chǎn)后腹直肌分離治療
- 兒童長時(shí)間使用電子產(chǎn)品的安全
- 【責(zé)任清單】醫(yī)院系統(tǒng)紀(jì)檢監(jiān)察責(zé)任清單
- 肛門墜脹與治療
- 申菱單元式空調(diào)機(jī)樣本
- 2024年職業(yè)技能互聯(lián)網(wǎng)營銷師操作知識考試題庫與答案
- 第六章-1八綱辨證
- 《統(tǒng)計(jì)計(jì)算》課程教學(xué)大綱
- 07FS02防空地下室給排水設(shè)施安裝
- 網(wǎng)絡(luò)平臺(tái)運(yùn)營合同三篇
- 如何自制固定翼航模
評論
0/150
提交評論