大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) 最全多線程編程java面試題

最全多線程編程java面試題

更新時(shí)間:2019-07-19 11:28:46 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3579次


多線程并發(fā)編程是Java編程中重要的一塊內(nèi)容,也是面試重點(diǎn)覆蓋區(qū)域。所以,學(xué)好多線程并發(fā)編程對(duì)Java程序員來(lái)說(shuō)極其重要的。下面動(dòng)力節(jié)點(diǎn)java學(xué)院小編整理了60道最常見(jiàn)的Java多線程面試題及答案,供你學(xué)習(xí)或者面試參考。


1.多線程使用的優(yōu)缺點(diǎn)?


優(yōu)點(diǎn):


(1)多線程技術(shù)使程序的響應(yīng)速度更快

(2)當(dāng)前沒(méi)有進(jìn)行處理的任務(wù)可以將處理器時(shí)間讓給其它任務(wù)

(3)占用大量處理時(shí)間的任務(wù)可以定期將處理器時(shí)間讓給其它任務(wù)

(4)可以隨時(shí)停止任務(wù)

(5)可以分別設(shè)置各個(gè)任務(wù)的優(yōu)先級(jí)以及優(yōu)化性能


缺點(diǎn):


(1)等候使用共享資源時(shí)造成程序的運(yùn)行速度變慢

(2)對(duì)線程進(jìn)行管理要求額外的cpu開(kāi)銷

(3)可能出現(xiàn)線程死鎖情況。即較長(zhǎng)時(shí)間的等待或資源競(jìng)爭(zhēng)以及死鎖等癥狀。


1.start()方法和run()方法簡(jiǎn)介和區(qū)別?


start()方法:


1)用start方法來(lái)啟動(dòng)線程,真正實(shí)現(xiàn)了多線程運(yùn)行,這時(shí)無(wú)需等待run方法體代碼執(zhí)行完畢而直接繼續(xù)執(zhí)行下面的代碼。

2)通過(guò)調(diào)用Thread類的start()方法來(lái)啟動(dòng)一個(gè)線程,這時(shí)此線程處于就緒(可運(yùn)行)狀態(tài),并沒(méi)有運(yùn)行,一旦得到CPU時(shí)間片,就開(kāi)始執(zhí)行run()方法。


run()方法:


1)run()方法只是類的一個(gè)普通方法而已,如果直接調(diào)用Run方法,程序中依然只有主線程這一個(gè)線程,其程序執(zhí)行路徑還是只有一條。

總結(jié):

1)調(diào)用start方法方可啟動(dòng)線程,

2)而run方法只是thread的一個(gè)普通方法調(diào)用,還是在主線程里執(zhí)行。

3)把需要并行處理的代碼放在run()方法中,start()方法啟動(dòng)線程將自動(dòng)調(diào)用run()方法,這是由jvm的內(nèi)存機(jī)制規(guī)定的。

4)并且run()方法必須是public訪問(wèn)權(quán)限,返回值類型為void。


最全多線程編程java面試題


2.Runnable接口和Callable接口的相同點(diǎn)和不同點(diǎn)?


Lock和synchronized對(duì)比?


1)Lock是一個(gè)接口,而synchronized是Java中的關(guān)鍵字,synchronized是內(nèi)置的語(yǔ)言實(shí)現(xiàn);

2)synchronized在發(fā)生異常時(shí),會(huì)自動(dòng)釋放線程占有的鎖,因此不會(huì)導(dǎo)致死鎖現(xiàn)象發(fā)生;而Lock在發(fā)生異常時(shí),如果沒(méi)有主動(dòng)通過(guò)unLock()去釋放鎖,則很可能造成死鎖現(xiàn)象,因此使用Lock時(shí)需要在finally塊中釋放鎖;

3)Lock可以讓等待鎖的線程響應(yīng)中斷,而synchronized卻不行,使用synchronized時(shí),等待的線程會(huì)一直等待下去,不能夠響應(yīng)中斷;

4)通過(guò)Lock可以知道有沒(méi)有成功獲取鎖,而synchronized卻無(wú)法辦到。

5)Lock可以提高多個(gè)線程進(jìn)行讀操作的效率。

6)在JDK1.5中,synchronized是性能低效的。因?yàn)檫@是一個(gè)重量級(jí)操作,它對(duì)性能最大的影響是阻塞式的實(shí)現(xiàn),掛起線程和恢復(fù)線程的操作都需要轉(zhuǎn)入內(nèi)核態(tài)中完成,這些操作給系統(tǒng)的并發(fā)性帶來(lái)了很大的壓力。相比之下使用Java提供的Lock對(duì)象,性能更高一些。


但是,JDK1.6,發(fā)生了變化,對(duì)synchronize加入了很多優(yōu)化措施,有自適應(yīng)自旋,鎖消除,鎖粗化,輕量級(jí)鎖,偏向鎖等等。導(dǎo)致在JDK1.6上synchronize的性能并不比Lock差。因此。提倡優(yōu)先考慮使用synchronized來(lái)進(jìn)行同步。


更多java面試題請(qǐng)關(guān)注動(dòng)力節(jié)點(diǎn)java學(xué)院官網(wǎng)。


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 成人午夜在线观看 | 亚洲国产aaa毛片无费看 | 久久精品欧美日韩精品 | 国产91精品福利在线观看 | 天天久久综合网站 | 久久影院一区 | 色综合视频一区二区三区 | 午夜国产精品色福利视频 | 青青操夜夜操 | 午夜在线成人 | 久久青草91线频免费观看 | 日韩欧美国产综合 | 日韩欧美一级毛片在线 | 欧美视频在线观看 | 在线观看视频一区二区 | 亚洲一区二区三区久久 | 99精品国产成人一区二区 | 国产91在线 | 亚洲 | 免费一级欧美大片视频在线 | 国产精品第8页 | 久草小区二区三区四区网页 | 日韩二区| 二区三区视频 | 4399一级成人毛片 | 精品视频国产 | 日韩精品中文字幕视频一区 | 天天操天天插天天射 | 日本一级毛片视频在线看 | 日韩欧美~中文字幕 | www.夜夜| 欧美激情亚洲精品日韩1区2区 | 日韩 欧美 亚洲 | 欧美开嫩苞实拍视频在线观看 | 高清国产美女在线观看 | 日韩欧美一级毛片视频免费 | 欧美日本在线 | 国产一区二区三区在线 | 大片国产片日本观看免费视频 | 日日干天天射 | 亚洲综合色视频 | 亚洲综合在线成人一区 |