前言 前兩天和粉絲聊天的時候,粉絲問了我一個挺有意思的問題,說他之前在面試的時候被問到線程池的線程復用原理,當時我跟他簡單的說了一下,沒想到過了幾天又來問我這個問題了,說他最近又被問到了這個問題.......想了想,干脆寫篇文章把這個東西講清楚吧,滿滿的干貨都放在下面了 1.什么是線程復用 ...
所謂的線程池的 大參數是指,在使用 ThreadPoolExecutor 創建線程池時所設置的 個參數,如以下源碼所示: 這 個參數分別是: corePoolSize:核心線程數。 maximumPoolSize:最大線程數。 keepAliveTime:空閑線程存活時間。 TimeUnit:時間單位。 BlockingQueue:線程池任務隊列。 ThreadFactory:創建線程的工廠。 R ...
2022-03-09 10:30 0 2691 推薦指數:
前言 前兩天和粉絲聊天的時候,粉絲問了我一個挺有意思的問題,說他之前在面試的時候被問到線程池的線程復用原理,當時我跟他簡單的說了一下,沒想到過了幾天又來問我這個問題了,說他最近又被問到了這個問題.......想了想,干脆寫篇文章把這個東西講清楚吧,滿滿的干貨都放在下面了 1.什么是線程復用 ...
你好呀,我是歪歪。 最近有個讀者給我說,面試聊到線程池的時候,相談甚歡,基本都回答上來了,但是其中有一個問題直接把他干懵逼了。 面試官問他:你說一下線程池里面的鎖吧。 結果他關於線程池的知識點其實都是在各個博客或者面經里面看到的,沒有自己去翻閱過源碼,也就根本就沒有注意過線程池里 ...
一、NSThread 1.簡單說明 ①線程間通信:在1個進程中,線程往往不是孤立存在的,多個線程之間需要經常進行通信 ②線程間通信的體現 1個線程傳遞數據給另1個線程 在1個線程中執行完特定任務后,轉到另1個線程繼續執行任務 ③線程間通信常用方法 ...
前言:最近項目中與融360項目中接口對接,有反饋接口(也就是我們接收到請求,需要立即響應,並且還要有一個接口推送給他們其他計算結果),推送過程耗時、或者說兩個接口不能是同時返回,有先后順序。 這時我想到了把自己Controller立即返回接受成功,中間添加一個新的線程去做其他耗時的操作(線程池 ...
,每個線程有自己的工作內存 c.主內存主要包括:堆和方法區,主內存是所有線程共享的 d.工作內存主要包 ...
面試中非常高頻的一個面試題:解釋一下線程池中各個參數的含義。 這是一個非常常見但是卻會卡死一大堆人的一道面試題,能夠細致的了解線程池的各個參數的含義對我們學習線程池和使用線程池有着巨大的好處的。 首先我們來看一下線程池主要的參數: 參數名 參數 ...
聊到線程池就一定會聊到線程池的執行流程,也就是當有一個任務進入線程池之后,線程池是如何執行的?我們今天就來聊聊這個話題。線程池是如何執行的?線程池的拒絕策略有哪些? 線程池執行流程 想要真正的了解線程池的執行流程,就得先從線程池的執行方法 execute() 說起,execute() 實現源碼 ...
阿里的面試官問了個問題,如果corePolllSize=10,MaxPollSize=20,如果來了25個線程 怎么辦?答案:當一個任務通過execute(Runnable)方法欲添加到線程池時:1、如果此時線程池中的數量小於corePoolSize,即使線程池中的線程都處於空閑狀態,也要創建新 ...