




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
多線程 一、單項1.下述哪個選項為真?()A.Error類是一個RoutimeException異常B.任何拋出一個RoutimeException異常的語句必須包含在try塊之內C.任何拋出一個Error對象的語句必須包含在try塊之內D.任何拋出一個Exception異常的語句必須包含在try塊之內2.下列關于Java線程的說法哪些是正確的?()A.每一個Java線程可以看成由代碼、一個真實的CPU以及數(shù)據(jù)3部分組成B.創(chuàng)建線程的兩種方法,從Thread類中繼承的創(chuàng)建方式可以防止出現(xiàn)多父類問題C.Thread類屬于java.util程序包D.以上說法無一正確3.哪個關鍵字可以對對象加互斥鎖?()A.transientB.synchronizedC.serializeD.static4.下列哪個方法可用于創(chuàng)建一個可運行的類?()A.publicclassXimplementsRunable{publicvoidrun(){……}}B.publicclassXimplementsThread{publicvoidrun(){……}}C.publicclassXimplementsThread{publicintrun(){……}}D.publicclassXimplementsRunable{protectedvoidrun(){……}}5.下面哪個選項不會直接引起線程停止執(zhí)行?()A.從一個同步語句塊中退出來B.調用一個對象的wait方法C.調用一個輸入流對象的read方法D.調用一個線程對象的setPriority方法6.使當前線程進入阻塞狀態(tài),直到被喚醒的方法是()A.resume()方法B.wait()方法C.suspend()方法D.notify()方法7.運行下列程序,會產生的結果是()publicclassXextendsThreadimplementsRunnable{publicvoidrun(){System.out.println(“thisisrun()”);}publicstaticvoidmain(String[]args){Threadt=newThread(newX());t.start();}}A.第一行會發(fā)生編譯錯誤B.第六行會發(fā)生編譯錯誤C.第六行會發(fā)生運行錯誤D.程序會運行和啟動8.java.lang.ThreadGroup類的作用為()A.使任何類都可以為線程提供線程體B.定義了線程與交互的方法C.提供了線程組或組中的每個線程進行操作的方法D.以上都不是9.實現(xiàn)線程的創(chuàng)建有()方法A.一種B.兩種C.三種D.四種10.一個進程可以包含()個線程A.一B.二C.三D.四11.Java中的線程模型包含()A.一個虛擬處理機B.CPU執(zhí)行的代碼C.代碼操作的數(shù)據(jù)D.以上都是12.關于線程組以下說法錯誤的是()A.在應用程序中線程可以獨立存在,不一定要屬于某個線程B.一個線程只能創(chuàng)建時設置其線程組C.線程組由java.lang包中的ThreadGroup類實現(xiàn)D.線程組使一組線程可以作為一個對象進行統(tǒng)一處里或維護13.下列定義線程方法正確的是()A.PublicThread();B.PublicThread(Runnabletarget);C.PublicThread(ThreadGroupgroup,Runnabletarget);D.以上都正確14.以下不屬于Thread類提供的線程控制方法是()A.break()B.sleep()C.yield()D.join()15.下列關于線程的說法正確的是()A.線程就是進程B.線程在操作系統(tǒng)出現(xiàn)后就產生了C.Soloris是支持線程的操作系統(tǒng)D.在單處理器和多處理器上多個線程不可以并發(fā)執(zhí)行16.下列不屬于線程生命周期狀態(tài)的是()A.新建狀態(tài)B.可運行狀態(tài)C.運行狀態(tài)D.解鎖狀態(tài)17.以下不屬于Thread類的線程優(yōu)先級靜態(tài)常量的是()A.MIN_PRIORITYD.新建的線程組默認情況下屬于其父線程所屬的線程組36.下列不屬于線程組成部分的一項是()A.程序計數(shù)器B.堆棧C.進程地址空間中的代碼C.棧指針37.下列關于Java線程模型的說法中,錯誤的一項是()A.Java線程模型包括了計算機的CPUB.代碼可以與其他線程共享C.數(shù)據(jù)可以被多個線程共享D.線程模型在java.lang.Thread類中被定義38.下列關于Thread類提供的線程控制方法的說法中,錯誤的一項是()A.在線程a中執(zhí)行線程b的join()方法,則線程a等待直到b執(zhí)行完成B.線程a通過調用interrupt()方法來中斷其阻塞狀態(tài)C.若線程a調用方法isAlive()返回值為true,則說明a正在執(zhí)行中D.currentThread()方法返回當前線程的引用39.下面的哪一個關鍵字通常用來對對象加鎖,從而使得對對象的訪問是排他的?()A.serializeB.transientC.synchronizedD.static40.下列說法中錯誤的一項是()A.可串行化的類必須實現(xiàn)Serializable接口B.可串行化的類中的靜態(tài)變量可以不被串行化C.private數(shù)據(jù)訪問權限能夠限制數(shù)據(jù)不被串行化D.對象串行化使用Java語言提供的默認機制41.下列說法中正確的一項是()A.代碼和數(shù)據(jù)是進程的組成部分B.代碼和數(shù)據(jù)是線程的組成部分C.進程是輕型線程D.線程中包含進程42.下列說法中錯誤的一項是()A.共享數(shù)據(jù)的所有訪問都必須使用synchronized加鎖B.共享數(shù)據(jù)的訪問不一定全部使用synchronized加鎖C.所有的對共享數(shù)據(jù)的訪問都是臨界區(qū)D.臨界區(qū)必須使用synchronized標識43.下列有關線程的敘述中正確的一項是()A.一旦一個線程都創(chuàng)建,它就立即開始運行B.使用start()方法可以使一個線程成為可運行的,但是它不一定立即開始運行C.當一個線程因為搶占機制而停止運行時,它被放在課運行隊列的前面D.一個線程可能因為不同的原因停止并進入終止狀態(tài)44.下列方法中,不屬于Thread類提供的線程控制方法的一個是()A.sleep()B.interrupt()C.init()D.yield()45.實現(xiàn)Runnable接口創(chuàng)建一個線程的語句是()Theadt=newThead(target)Theadt=newThead();t.target=targetTheadt=newThead();T.start(target)Theadt=newThead();T.run(target)Thead類定義與下列哪一個包中?()A.java.ioB.java.langC.java.utilD.java.awt46.下列說法中,錯誤的一項是()A.實現(xiàn)了Runnable接口的類,可以通過extends來繼承其他的類B.實現(xiàn)了Runnable接口的類,不能繼承其他的類C.Thread類的子類應該是關于CPU行為的類D.Thread類的子類也實現(xiàn)了Runnable接口47.下列是通過實現(xiàn)Runnable接口創(chuàng)建的類,其中正確的一項是()A.classA3implementsRunnable{voidrun(){//··········}}B.classA3extendsRunnable{publicvoidrun(){//··········}}C.classA3implementsRunnable{publicvoidrun(){//··········}}D.classA3implementsRunnable{//··········}48.Thread類的常量 NORM_PRIORITY代表的優(yōu)先級是()A.最低優(yōu)先級B.普通優(yōu)先級C.最高優(yōu)先級D.不代表任何優(yōu)先級50.下列哪一個包給出了Runnable接口的定義?()A.java.utilB.java.ioC.java.langD.java.sql二、填空題1.線程模型在Java中是由________類進行定義和描述的。2.多線程是Java程序的______機制,它能共享同步數(shù)據(jù),處理不同事件。3.Java的線程調度策略是一種基于優(yōu)先級的_________。4.當線程完成運行并結束后,將不能再運行。除線程正常運行結束外,還可用其他方法控制其停止??梢杂胈______方法強行終止線程。5.如果一個線程處于______態(tài),那么這個線程是不能運行的。6.提供線程體的特定對象是在創(chuàng)建線程時指定的,創(chuàng)建線程對象是通過_____類的構造方法實現(xiàn)的。7.在Java中,新建的線程調用start()方法,將使線程的狀態(tài)從New(新建狀態(tài))轉換為_____。8.按照線程的模型,一個具體的線程是由虛擬的CPU、代碼與數(shù)據(jù)組成,其中代碼與數(shù)據(jù)構成了_______,現(xiàn)成的行為由它決定。9.Thread類的方法中,toString()方法的作用是________。10.線程是一個_____級的實體,線程結構駐留在用戶空間中,能夠被普通的相應級別方法直接訪問。線程是由表示程序運行狀態(tài)的組成的。在Java線程模型中,一個線程是由、和三部分組成的。Thread類中表示最高優(yōu)先級的常量是,而表示最低優(yōu)先級的常量是。若要獲得一個線程的優(yōu)先級,可以使用方法,若要修改一個線程的優(yōu)先級,則可以使用方法。在Java語言中臨界區(qū)使用關鍵字標識。線程的生命周期包括新建狀態(tài)、運行狀態(tài)、和終止狀態(tài)。Java語言使用技術對共享數(shù)據(jù)操作進行并發(fā)控制。進程是由、數(shù)據(jù)、內核狀態(tài)和組成的。在Java線程模型中,數(shù)據(jù)和代碼之間的關系是的。線程中方法使執(zhí)行線程放棄CPU并釋放原來持有的對象鎖,進入對象的wait等待池中。三、判斷題1.一旦一個線程被創(chuàng)建,它就可以立即開始運行()2.調用start()方法可以使一個線程成為可運行的,但是它并不能立即開始執(zhí)行()3.主線程不具有默認優(yōu)先級()4.Java中線程的優(yōu)先級從低到高以整數(shù)0—9表示()5.從一個同步語句塊中退出來不會直接引起線程停止執(zhí)行()6.線程的阻塞是指暫停一個線程的執(zhí)行以等待某個條件發(fā)生()7.優(yōu)先級只能在線程啟動前設置()8.當生成守護線程的線程結束時,此守護線程會隨之消失()9.線程之間的通信可以通過共享數(shù)據(jù)使線程互相交流,也可以通過線程控制方法使線程互相等待()10.Object類定義了線程同步與交互的方法()線程一旦被創(chuàng)建,則自動運行()線程創(chuàng)建后需要調用start()方法,將線程置于可運行狀態(tài)()Thread類中沒有定義run()方法()線程開始運行時,是從start()方法開始運行的()一個進程可以創(chuàng)建多個線程()代表優(yōu)先級的常數(shù)值越大優(yōu)先級越低()程序中可能出現(xiàn)一種情況:多個線程相互等待對方持有的鎖,而在得到對方的鎖之前都不會釋放自己的鎖,這就是死鎖。()臨界區(qū)可以是一個語句塊,但是不可以是一個方法()釋放鎖的時候,應該按照加鎖順序的逆序進行()在對象串行化中,可以用來保護類中敏感信息的關鍵字是protected()四、簡答題(回答要點,并簡明扼要作解釋)101.什么是線程?它和進程有什么區(qū)別?2.簡述線程的生命周期。3.Runnable接口中包括哪些抽象方法?Thread類有哪些主要域和方法?4.創(chuàng)建線程有幾種方式?試寫出使用這些方式創(chuàng)建線程的一般模式。為什么有時候必須采用其中一種方式?5.簡述線程的同步控制機制。創(chuàng)建線程有哪兩種方法?什么是死鎖?線程有哪三種基本狀態(tài)?這幾種狀態(tài)是怎樣相互轉換的?(可畫圖表示)Java語言中的線程包括哪三部分?什么是進程?與線程有何區(qū)別?五、程序設計題1.編寫一個多線程類,該類的構造方法調用Thread類帶字符串參數(shù)的構造方法。建立自己的線程名,然后隨機生成一個休眠時間,再將自己的線程名和休眠多長時間顯示出來。該線程運行后,休眠一段時間,該時間就是在構造方法中生成的時間。最后編寫一個測試類,創(chuàng)建多個不同名字的線程,并測試其運行情況。2.編寫一個程序,測試異常。該類提供一個輸入整數(shù)的方法,使用這個方法先輸入兩個整數(shù),再用第一個整數(shù)除以第二個整數(shù),當?shù)诙€整數(shù)為0時,拋出異常,此時程序要捕獲異常。3.編寫一個用線程實現(xiàn)一個數(shù)字時鐘的應用程序。該線程類要采用休眠的方式,把絕對大部分時間讓系統(tǒng)使用。4.編寫一個使用繼承Thread類的方法實現(xiàn)多線程的程序。該類有兩個屬性,一個字符串代表線程名,一個整數(shù)代表該線程要休眠的時間。線程執(zhí)行時,顯示線程名和休眠時間。5.應用繼承類Thread的方法實現(xiàn)多線程類,該線程3次休眠若干(隨機)毫秒后顯示線程名和第幾次執(zhí)行。6.請通過實現(xiàn)Runnable接口和繼承Thread類分別創(chuàng)建線程,要求:除了main線程之外,還要創(chuàng)建一個新的線程。Main線程重復100次“main“,新線程重復100次輸出“new”。7.為了使下面的程序能夠輸出“running”,請在注釋處填寫相關語句代替注釋//A。publicclassTestimplementsRunnable{ publicstaticvoidmain(Stringargs[]){ Testtest=newTest(); Threadt=newThread(test); //A } publicvoidrun(){ System.out.println("running"); } voidgo(){ start(1); } voidstart(inti){ }}8.在下列程序的橫線處填入正確的語句publicclassTest{ publicstaticvoidmain(Stringargs[]){ Threadt1=newsubTread("First"); Threadt2=newsubTread("Second"); t1.start(); t2.start(); }}classsubTreadextendsThread{ publicsubTread(Strings){ } publicvoidrun(){ System.out.println(""+getName()); try{ sleep((int)(Math.random()*1000)); }catch(InterruptedExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } System.out.println("結束!"+getName()); }}9.請創(chuàng)建一個線程,指定一個限定時間(如60s),線程運行時,大約每3s輸出1次當前所剩時間,直至給定的限定時間用完??键c:sleep方法10.以下是一個模擬訂票業(yè)務的程序。BookingClerk類代表自動售票員,其中包含一個訂票(booking)方法。假設一開始有10張票可預定。程序運行時產生兩個訂票客戶同時自動向自動售票員訂票。請問會出現(xiàn)什么錯誤?該如何修改?考點:臨界區(qū)與互斥publicclassTest{ publicstaticv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年勞動合同工齡延續(xù)模板
- 一年級下冊數(shù)學教案-4.5求減數(shù)的簡單實際問題 蘇教版
- 二年級數(shù)學下冊教案-6.1 認識角(4)-北師大版
- 2025年學習雷鋒精神六十二周年主題活動方案
- 學習2025年雷鋒精神62周年主題活動方案 (合計3份)
- 2025年廣東工貿職業(yè)技術學院單招職業(yè)適應性測試題庫參考答案
- 2025年湖北國土資源職業(yè)學院單招職業(yè)傾向性測試題庫及答案1套
- 《雁門太守行》歷年中考古詩欣賞試題匯編(截至2024年)
- 《春望》歷年中考古詩欣賞試題匯編(截至2024年)
- 2025年杭州科技職業(yè)技術學院單招職業(yè)傾向性測試題庫及參考答案
- 2024年湖南省公務員考試《行測》真題及答案解析
- 2024-2025學年北京市豐臺某中學九年級(上)開學數(shù)學試卷(含答案)
- 環(huán)保儀器培訓
- 餐飲服務電子教案 學習任務4 擺臺技能(2)-中餐宴會擺臺
- 2024湖南省水利廳直屬事業(yè)單位招聘擬聘用人員歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 財務崗位招聘筆試題及解答(某大型國企)2025年
- 《計算機網絡技術》課程教案(完整版)
- 追覓在線測評題
- 洋車夫課件教學課件
- 車間鋸木材承包合同協(xié)議書
- 公司與個人的技術服務合同書范本
評論
0/150
提交評論