為什麼面試時總會問執行緒池?

時間 2021-10-23 09:40:04

1樓:麒麟改bug

執行緒池內部是通過佇列+執行緒實現的,當我們利執行緒池執任務時:

1. 如果此時執行緒池中的數量於corePoolSize,即使執行緒池中的執行緒都處於空閒狀態,也要建立新的執行緒來處理被新增的任務。

2. 如果此時執行緒池中的數量等於corePoolSize,但是緩衝佇列workQueue未滿,那麼任務被放緩衝佇列。

3. 如果此時執行緒池中的數量於等於corePoolSize,緩衝佇列workQueue滿,並且執行緒池中的數量於maximumPoolSize,建新的執行緒來處理被新增的任務。

4. 如果此時執行緒池中的數量於corePoolSize,緩衝佇列workQueue滿,並且執行緒池中的數量等於maximumPoolSize,那麼通過 handler所指定的策略來處理此任務。

5. 當執行緒池中的執行緒數量於 corePoolSize時,如果某執行緒空閒時間超過keepAliveTime,執行緒將被終。這樣,執行緒池可以動態的調整池中的執行緒數

螞蟻一面面試真題解析|配套筆記:

FixedThreadPool代表定執行緒池,底層的LinkedBlockingQueue,表示界的阻塞佇列。

2樓:南陽居士

執行緒池與執行緒排程不是乙個概念。

執行緒池是任務與執行的分離的元件,方便執行緒的管理。

可以參考:多執行緒程式設計-執行緒池的實現

執行緒的排程,對執行緒狀態進行劃分。再實現排程策略。

可以參考:協程設計 網路IO解決方案 - 協程框架的實現

面試時面試官問「如何證明你的學習能力?」,怎麼回答?

傻成 你大學有什麼證就丟出來,還有大學的那些獎項 偷偷告訴你有很多獎學校無記錄的,你看著說 除非HR真的真的非常對你有興趣 就是想讓你當個職位很高的那種 他才會找和你熟的人談,那些熟人嘛 吃過你的喝過你的 他們懂怎麼說的。 keep thinking 我覺得,第乙個你可以把你對 學習 這件事的觀點說...

為什麼面試時不告訴你薪資待遇?

凌煙 會告訴乙個大概範圍,起碼福利什麼的會說一點,而且,你都不知道你沒有仔細閱讀招聘資訊,自己值多少錢也不知道。面毛線試啊。當然如果他對你不滿意基本也不會說。 我就是我 大企業一般都有完整的薪資體系,定崗定薪。有些大企業會當面告知崗位薪資範圍。小企業一般沒那麼完善,都是憑面試感覺,有時候面試者沒有薪...

面試時如何回答你為什麼要辭職?

許碧軒 關於上家公司的離職原因 1.正面回答。直接回答原因而不是各種繞和迴避,太過隱晦的回答反而會讓面試官認為其中有不好的負面原因,還會以此判斷你的性格和風格做出不利於你的判斷。2.原因要真實。你的回答可以不是真實的全部,但一定要真實,因為只有真實的你才會回答的比較坦然,也只有真實的才是符合邏輯的才...