百分之九十會提到的多線程面試題伍茄,是我的回答有問題栋盹?

摘要:

每個正在系統(tǒng)上運行的程序都是一個進程施逾。每個進程包含一到多個線程敷矫。進程也可能是整個程序或者是部分程序的動態(tài)執(zhí)行。線程是一組指令的集合汉额,或者是程序的特殊段曹仗,它可以在程序里獨立執(zhí)行。也可以把它理解為代碼運行的上下文蠕搜。所以線程基本上是輕量級的進程怎茫,它負責(zé)在單個程序里執(zhí)行多任務(wù)。通常由操作系統(tǒng)負責(zé)多個線程的調(diào)度和執(zhí)行。

多線程

線程是程序中一個單一的順序控制流程.在單個程序中同時運行多個線程完成不同的工作,稱為多線程.

線程和進程的區(qū)別在于,子進程和父進程有不同的代碼和數(shù)據(jù)空間,而多個線程則共享數(shù)據(jù)空間,每個線程有自己的執(zhí)行堆棧和程序計數(shù)器為其執(zhí)行上下文.多線程主要是為了節(jié)約CPU時間,發(fā)揮利用,根據(jù)具體情況而定. 線程的運行中需要使用計算機的內(nèi)存資源和CPU轨蛤。

多線程面試題(問題解析在后面):

1蜜宪、為什么用線程池?

2、線程池參數(shù)什么意思祥山?

3圃验、講一講線程池中的threadpoolexecutor,每個參數(shù)干什么用的缝呕?

4澳窑、說一下線程池內(nèi)部使用規(guī)則

5、用過AtomicInteger嗎供常?怎么用的摊聋?

6、用過threadlocal嗎栈暇?怎么用的麻裁?

8、【上機】Java中通過哪些方式創(chuàng)建多線程類? 分別使用代碼說明瞻鹏。并調(diào)用之悲立。

9、Thread類有沒有實現(xiàn)Runnable接口?

10新博、當(dāng)調(diào)用一個線程對象的start方法后薪夕,線程馬上進入運行狀態(tài)嗎?

11、下面的代碼赫悄,實際上有幾個線程在運行:

12原献、線程的幾種狀態(tài)

13、說說:sleep埂淮、yield姑隅、join、wait方法的區(qū)別倔撞。

14讲仰、為什么不推薦使用stop和destroy方法來結(jié)束線程的運行?

15、寫個代碼說明痪蝇,終止線程的典型方式鄙陡。

16、A線程的優(yōu)先級是10躏啰,B線程的優(yōu)先級是1趁矾,那么當(dāng)進行調(diào)度時一定會調(diào)用A嗎?

17、synchronize修飾在方法前是什么意思?

18给僵、使用Timer和TimerTask實現(xiàn)定時執(zhí)行毫捣,定時在每天下午17:00執(zhí)行。

19、wait方法被調(diào)用時蔓同,所在線程是否會釋放所持有的鎖資源? sleep方法呢?

20饶辙、wait、notify斑粱、notifyAll是在Thread類中定義的方法嗎畸悬?作用分別是什么?

21珊佣、notify是喚醒所在對象wait pool中的第一個線程嗎蹋宦?


面試問題解析:

問題:為什么用線程池?

解析:有時候,系統(tǒng)需要處理非常多的執(zhí)行時間很短的請求咒锻,如果每一個請求都開啟一個新線程的話冷冗,系統(tǒng)就要不斷的進行線程的創(chuàng)建和銷毀,有時花在創(chuàng)建和銷毀線程上的時間會比線程真正執(zhí)行的時間還長惑艇。

而且當(dāng)線程數(shù)量太多時蒿辙,系統(tǒng)不一定能受得了。

使用線程池主要為了解決一下幾個問題:

通過重用線程池中的線程滨巴,來減少每個線程創(chuàng)建和銷毀的性能開銷思灌。

對線程進行一些維護和管理,比如定時開始恭取,周期執(zhí)行泰偿,并發(fā)數(shù)控制等等。

問題:A線程的優(yōu)先級是10蜈垮,B線程的優(yōu)先級是1耗跛,那么當(dāng)進行調(diào)度時一定會調(diào)用A嗎?

解析:不一定。線程優(yōu)先級對于不同的線程調(diào)度器可能有不同的含義攒发,可能并不是用戶直觀的推測调塌。

見代碼ThreadPriorityTest

問題:synchronize修飾在方法前是什么意思?

解析:一次只能有一個線程進入該方法,其他線程要想在此時調(diào)用該方法,只能排隊等候,當(dāng)前線程(就是在synchronized方法內(nèi)部的線程)執(zhí)行完該方法后,別的線程才能進入.

問題:wait方法被調(diào)用時,所在線程是否會釋放所持有的鎖資源? sleep方法呢?

解析:wait:釋放CPU惠猿,釋放鎖羔砾;

sleep:釋放CPU,不釋放鎖偶妖。

更多解析在文末

附錄:

并發(fā)編程學(xué)習(xí)路線圖

包含:

1姜凄、線程基礎(chǔ),線程之間的共享和協(xié)作

2餐屎、線程的并發(fā)工具類

3檀葛、原子操作CAS

4玩祟、顯式鎖和AQS

5腹缩、并發(fā)容器

6、線程池

7、并發(fā)安全

8藏鹊、實戰(zhàn)項目(2個)

9润讥、JMM和底層實現(xiàn)原理

小結(jié)

當(dāng)留給你準(zhǔn)備面試的時間不充足時,要“以始為終”的去思考你最終展示在面試官哪里的狀態(tài)盘寡。先寫好簡歷楚殿,然后以這種目標(biāo)去針對性的復(fù)習(xí)技術(shù)知識點。確保簡歷上寫到的技術(shù)點竿痰,都有話可聊脆粥,都可以聊到關(guān)鍵點上。

面試也是要看狀態(tài)的影涉,當(dāng)所有的問題你都可以侃侃而談,這時你的狀態(tài)自然是最好的。

祝各位面試順利乖杠!

需要面試題匯總(可私信我免費領(lǐng)取答案)私信【面試資料】即可領(lǐng)取

附加java開發(fā)的資料(面試資源與經(jīng)驗總結(jié)瘦棋,Dubbo、Redis鲜棠、設(shè)計模式肌厨、Netty、zookeeper豁陆、Spring cloud柑爸、分布式、高并發(fā)等架構(gòu)技術(shù)視頻教程資料,架構(gòu)思維導(dǎo)圖盒音,以及面試資料竖配,了解最新的學(xué)習(xí)動態(tài);了解最新的阿里里逆、京東招聘資訊)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末进胯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子原押,更是在濱河造成了極大的恐慌胁镐,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诸衔,死亡現(xiàn)場離奇詭異盯漂,居然都是意外死亡,警方通過查閱死者的電腦和手機笨农,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門就缆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谒亦,你說我怎么就攤上這事竭宰】战迹” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵切揭,是天一觀的道長狞甚。 經(jīng)常有香客問我,道長廓旬,這世上最難降的妖魔是什么哼审? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮孕豹,結(jié)果婚禮上涩盾,老公的妹妹穿的比我還像新娘。我一直安慰自己励背,他們只是感情好旁赊,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著椅野,像睡著了一般终畅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竟闪,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天离福,我揣著相機與錄音,去河邊找鬼炼蛤。 笑死妖爷,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的理朋。 我是一名探鬼主播絮识,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼嗽上!你這毒婦竟也來了次舌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤兽愤,失蹤者是張志新(化名)和其女友劉穎彼念,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浅萧,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡逐沙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了洼畅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吩案。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖帝簇,靈堂內(nèi)的尸體忽然破棺而出徘郭,到底是詐尸還是另有隱情靠益,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布崎岂,位于F島的核電站,受9級特大地震影響闪湾,放射性物質(zhì)發(fā)生泄漏冲甘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一途样、第九天 我趴在偏房一處隱蔽的房頂上張望江醇。 院中可真熱鬧,春花似錦何暇、人聲如沸陶夜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽条辟。三九已至,卻和暖如春宏胯,著一層夾襖步出監(jiān)牢的瞬間羽嫡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工肩袍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留杭棵,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓氛赐,卻偏偏與公主長得像魂爪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子艰管,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,090評論 1 32
  • 從三月份找實習(xí)到現(xiàn)在滓侍,面了一些公司,掛了不少牲芋,但最終還是拿到小米粗井、百度、阿里街图、京東浇衬、新浪、CVTE餐济、樂視家的研發(fā)崗...
    時芥藍閱讀 42,207評論 11 349
  • 進程和線程 進程 所有運行中的任務(wù)通常對應(yīng)一個進程,當(dāng)一個程序進入內(nèi)存運行時,即變成一個進程.進程是處于運行過程中...
    勝浩_ae28閱讀 5,087評論 0 23
  • 所有知識點已整理成app app下載地址 J2EE 部分: 1.Switch能否用string做參數(shù)耘擂? 在 Jav...
    侯蛋蛋_閱讀 2,412評論 1 4
  • 100000+加的公眾號,第一個想到的就是咪蒙絮姆,每次看咪蒙的標(biāo)題醉冤,真是有一種相見恨晚的感覺秩霍。 《戀愛圖鑒:想殺死男...
    機靈兔代運營閱讀 698評論 0 1