Java程序設計案例教程 第2版 習題答案 習題12_第1頁
Java程序設計案例教程 第2版 習題答案 習題12_第2頁
Java程序設計案例教程 第2版 習題答案 習題12_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

PAGE1【習題12】一、選擇題CAADA二、填空題1、進程2、線程3、繼承Thread類實現(xiàn)Runnable接口4、可運行運行阻塞5、wait()notify()三、簡答題1、簡述進程和線程的概念。答:進程是一個包含自身執(zhí)行地址的程序,現(xiàn)在的計算機基本上都支持多進程操作。在一個進程內(nèi)部也可以執(zhí)行多任務,可以將進程內(nèi)部的任務稱為線程,線程是進程中的實體,一個進程可擁有多個線程。2、簡述創(chuàng)建線程的兩種方法的實現(xiàn)步驟。答:繼承Thread類的實現(xiàn)步驟如下:將需要實現(xiàn)多線程的類聲明為繼承Thread類,覆蓋其run()方法,并將線程體放在該方法里。publicclassMyThreadextendsThread{ publicvoidrun(){ //線程體 }}創(chuàng)建一個該類的實例。MyThreadt=newMyThread();啟動該實例。t.start();實現(xiàn)Runnable接口的實現(xiàn)步驟如下:將需要實現(xiàn)多線程的類聲明為實現(xiàn)Runnable接口的類,實現(xiàn)run()方法,并將線程體放在該方法里。publicclassMyRunnableimplementsRunnable{ publicvoidrun(){ //線程體 }}創(chuàng)建一個該類的實例。Runnabler=newMyRunnable();從該實例創(chuàng)建一個Thread實例。Threadt=newThread(r);啟動該Thread的實例。t.start();也可將上述二行合并:newThread(r).start();3、簡述創(chuàng)建線程的兩種方法的異同點。答:表1兩種方法的比較繼承Thread類實現(xiàn)Runnable接口相同每個具有多線程能力的類都必須覆蓋(繼承Thread類時)或?qū)崿F(xiàn)(實現(xiàn)Runnable接口時)run()方法。啟動一個線程是通過調(diào)用Thread實例的start()方法實現(xiàn)的。如果是實現(xiàn)Runnable接口時,需通過Thread的構造方法創(chuàng)建一個Thread實例。不同不能再繼承其它類??梢岳^承其它類。編寫簡單,無需再創(chuàng)建創(chuàng)建線程類。編寫復雜一些,必須通過Thread類構造方法,創(chuàng)建一個新的Thread類。程序結構清晰,程序風格好。4、簡述線程的幾種狀態(tài)。答:1、新建狀態(tài)當一個Thread類的對象被創(chuàng)建(new)之后,一個新的線程就產(chǎn)生了。在這個線程執(zhí)行start()方法之前,它處于新建狀態(tài)。2、可執(zhí)行狀態(tài)一個線程被創(chuàng)建后,沒有立即進入運行狀態(tài),而是處于處理就緒狀態(tài)。通過調(diào)用Thread類中的start()方法實現(xiàn)執(zhí)行run()方法。3、運行狀態(tài)運行狀態(tài)(Running)是線程的正常執(zhí)行狀態(tài),即在CPU中執(zhí)行run()方法的代碼。4、阻塞狀態(tài)由于某種原因,線程不能執(zhí)行,即使CPU是空閑的。線程阻塞解除后,線程進入可執(zhí)行狀態(tài),再次等待調(diào)度,以獲得CPU時間。5、結束狀態(tài)結束狀態(tài)(Terminated)是線程正常執(zhí)行完成(從run()方法中返回)或線程被中止。這時釋放線程占用的資源,結束線程的執(zhí)行。5、簡述實現(xiàn)線程同步的兩種方法。答:(1)對方法進行同步在定義方法時加上synchronized的關鍵字:(2)對語句塊進行同步在需要同步的代碼塊前加上關鍵字synchronized(其中this是指類自身)四、編程題1、三個學生小張、小李和小王在打籃球,先編寫一程序,模擬他們搶籃球的過程,每人搶到5次就算結束,余下的人繼續(xù)玩。先要求輸出每人搶球的記錄。輸出的例子如下:小李第1次搶到籃球小張第1次搶到籃球小王第1次搶到籃球小張第2次搶到籃球小張第3次搶到籃球小王第2次搶到籃球小李第2次搶到籃球小王第3次搶到籃球小張第4次搶到籃球小李第3次搶到籃球小李第4次搶到籃球小張第5次搶到籃球小李第5次搶到籃球小李不想玩了。小王第4次搶到籃球小王第5次搶到籃球小張不想玩了。小王不想玩了。classBoyimplementsRunnable{ Stringname; publicBoy(Stringname){ =name; } publicvoidrun(){ for(inti=0;i<5;i++){ System.out.println(name+"第"+(i+1)+"次搶到籃球"); try{ Thread.sleep((int)(1000*Math.random())); }catch(Exceptione){} } System.out.println(name+"不想玩了。"); }}publicclassPlayBasketball{ publicstaticvoidmain(String[]args){ Boyboy1=newBoy("小李"); Boyboy2=newBoy("小張"); Boyboy3=newBoy("小王"); Threadt1=newThread(b

溫馨提示

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

評論

0/150

提交評論