@陳同學(xué)_3207 額,好吧。保留意見!我不會想著說服你续担。但你說的,對我也沒多大用處。
我在面試中經(jīng)常會問的兩個(gè)問題面試久了之后愕掏,發(fā)現(xiàn)自己每次都會問下面這兩個(gè)問題。 線程池相關(guān) 問:你講講線程池的實(shí)現(xiàn)原理籽前。 聽到這個(gè)問題亭珍,小部分同學(xué)會很坦白的說敷钾,我平時(shí)用過線程池,但是沒有了解過內(nèi)部是怎么實(shí)...
@陳同學(xué)_3207 額,好吧。保留意見!我不會想著說服你续担。但你說的,對我也沒多大用處。
我在面試中經(jīng)常會問的兩個(gè)問題面試久了之后愕掏,發(fā)現(xiàn)自己每次都會問下面這兩個(gè)問題。 線程池相關(guān) 問:你講講線程池的實(shí)現(xiàn)原理籽前。 聽到這個(gè)問題亭珍,小部分同學(xué)會很坦白的說敷钾,我平時(shí)用過線程池,但是沒有了解過內(nèi)部是怎么實(shí)...
JVM系列: BAT面試必問題系列:深入詳解JVM 內(nèi)存區(qū)域及內(nèi)存溢出分析 BAT面試必問題系列:JVM的判斷對象是否已死和四種垃圾回收算法 (文末還分享更多Java架構(gòu)面試...
@陳同學(xué)_3207 等你自己實(shí)現(xiàn)一個(gè)和JDK線程池功能的80%以上完全一樣的時(shí)候肄梨,你才有資格評論我阻荒。不好意思,講原理就是越低層越好众羡。否則不要說原理侨赡,說應(yīng)用。說你如何使用線程池粱侣。講原理羊壹,就是要手動重復(fù)造輪子,至少要知道別人的輪子是怎么造的齐婴,你可以造出來之后不用自己的輪子油猫,用別人的輪子,但是必須造的和別人的輪子類似柠偶。比如問你IOC的原理情妖,你給我說控制反轉(zhuǎn),什么容器诱担,都是扯淡毡证。真正的IOC原理,必須要講到反射蔫仙。當(dāng)問你SpringMVC如何將參數(shù)綁定給一個(gè)Bean的時(shí)候料睛,你必須從Http協(xié)議的Content-Type,反射的角度回答摇邦,否則就是不對恤煞。當(dāng)你想懟我的時(shí)候,先想想你造了多少重復(fù)的輪子涎嚼,看過多少源代碼再說阱州。
我在面試中經(jīng)常會問的兩個(gè)問題面試久了之后,發(fā)現(xiàn)自己每次都會問下面這兩個(gè)問題法梯。 線程池相關(guān) 問:你講講線程池的實(shí)現(xiàn)原理苔货。 聽到這個(gè)問題,小部分同學(xué)會很坦白的說立哑,我平時(shí)用過線程池夜惭,但是沒有了解過內(nèi)部是怎么實(shí)...
@陳同學(xué)_3207 你評論都不看就回復(fù)別人了嗎。
我在面試中經(jīng)常會問的兩個(gè)問題面試久了之后铛绰,發(fā)現(xiàn)自己每次都會問下面這兩個(gè)問題诈茧。 線程池相關(guān) 問:你講講線程池的實(shí)現(xiàn)原理。 聽到這個(gè)問題捂掰,小部分同學(xué)會很坦白的說敢会,我平時(shí)用過線程池曾沈,但是沒有了解過內(nèi)部是怎么實(shí)...
樓主你好,我是來懟你的鸥昏。
你的問題是:你講講線程池的實(shí)現(xiàn)原理塞俱。
然而我個(gè)人覺得你的回答也是答非所問。
如果要講線程池原理吏垮,那我們就干脆拋開JDK線程池不談障涯。手動實(shí)現(xiàn)線程池。
首先引入幾個(gè)概念:一個(gè)是線程池膳汪、一個(gè)是線程唯蝶,一個(gè)是任務(wù)。他們的關(guān)系就是遗嗽,線程池中包含有運(yùn)行任務(wù)的線程粘我,這些線程都可以復(fù)用。但平時(shí)我們知道媳谁,線程的run方法執(zhí)行完就結(jié)束了涂滴,所以如果線程池中的線程可以復(fù)用,那一定意味著這個(gè)線程沒有結(jié)束(不死)晴音,要想不死,最簡單的辦法就是在run方法中死循環(huán)(當(dāng)然還有別的辦法)缔杉。所以線程池說白了锤躁,就是創(chuàng)建一個(gè)具有一定數(shù)量的線程,這些線程的run方法都是死循環(huán)的(一定條件下可以結(jié)束)或详。那么如何讓線程池中的線程系羞,去執(zhí)行任務(wù)呢?只需要把任務(wù)放在一個(gè)合理的列表容器中霸琴,讓線程池去這個(gè)任務(wù)列表中取即可椒振。這樣一來就清晰了,線程需要放在線程池中梧乘,任務(wù)需要放在任務(wù)列表中澎迎。兩者是m:n的比列。只需要調(diào)整好這個(gè)比例选调,就能夠提高效率夹供。之所以高效主要原因是線程復(fù)用,省掉了“按需創(chuàng)建”這種方式帶來的開銷仁堪。
這才是真正的線程池原理哮洽。
而你說的,maxSize,IddleSize,minSize弦聂,那些都是基于這個(gè)基礎(chǔ)上進(jìn)行更細(xì)粒度的擴(kuò)展管理的參數(shù)而已鸟辅。
懟完畢氛什!
歡迎回懟!
我在面試中經(jīng)常會問的兩個(gè)問題面試久了之后匪凉,發(fā)現(xiàn)自己每次都會問下面這兩個(gè)問題枪眉。 線程池相關(guān) 問:你講講線程池的實(shí)現(xiàn)原理。 聽到這個(gè)問題洒缀,小部分同學(xué)會很坦白的說瑰谜,我平時(shí)用過線程池,但是沒有了解過內(nèi)部是怎么實(shí)...