拿餐廳吃飯舉例多好。 吃飯人數(任務),餐位(執行緒), 人不多,餐位夠用。 人稍微多點,排隊。 人有點多,盡可能增加餐位。 人太多,要麼告知排叄小時隊伍要麼婉拒。
先看一下threadpoolexecutor類的execute方法:
public void execute(runnable command)
//執行緒池是執行狀態並且執行執行緒大於核心執行緒數時,把任務放入佇列中。
if (isrunning(c) && workqueue.offer(command))
//執行執行緒大於核心執行緒數時並且佇列已滿時,
//建立執行緒放入執行緒池中,並且執行當前任務。
else if (!addworker(command, false))
//執行執行緒大於最大執行緒數時,失敗則拒絕該任務
reject(command);
}
在execute方法中,多次呼叫的addworker方法,再看一下這個方法:
private boolean addworker(runnable firsttask, boolean core)
}boolean workerstarted = false;
boolean workeradded = false;
worker w = null;
try
} finally
if (workeradded)
}} finally
return workerstarted;
}
通俗易懂地給女朋友講 執行緒池的內部原理
餐盤在燈光的照耀下格外晶瑩潔白,女朋友拿起紅酒杯輕輕地抿了一小口,對我說 經常聽你說執行緒池,到底執行緒池到底是個什麼原理?我楞了一下,心裡想女朋友今天是怎麼了,怎麼突然問出這麼專業的問題,但做為乙個專業人士在女朋友面前也不能露怯啊,想了一下便說 我先給你講講我前同事老王的故事吧!老王是乙個已經北漂...
給女朋友講HTTP協議 網路基礎
為了更好的理解http,我們需要花點時間了解一下tcp ip協議族。通常使用的網路是在tcp ip協議族的基礎上運作的。而http屬於它內部的乙個子集。計算機與網路裝置要相互通訊,雙方就必須基於相同的方法。比如,如何探測到通訊目標 由哪一邊先發起通訊 使用哪種語言進行通訊 怎樣結束通訊等規則都需要事...
如何自動傳送簡訊給女朋友
如何通過手機自動傳送簡訊給女朋友 01 事件的起因 你一聽,完了,大家一起學程式設計 還沒有教過我們通過手機號碼傳送訊息呀!這可怎麼辦?別急,馬上就告訴你。02 程式設計實現 正所謂python除了不會生孩子,其他什麼都會。古人曾經說過 能用一門語言解決的事,絕對不用兩門語言。咳咳,跑題了 事先,我...