如何優雅的給女朋友講執行緒池

2021-10-02 18:51:36 字數 805 閱讀 5772

拿餐廳吃飯舉例多好。 吃飯人數(任務),餐位(執行緒), 人不多,餐位夠用。 人稍微多點,排隊。 人有點多,盡可能增加餐位。 人太多,要麼告知排叄小時隊伍要麼婉拒。

先看一下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除了不會生孩子,其他什麼都會。古人曾經說過 能用一門語言解決的事,絕對不用兩門語言。咳咳,跑題了 事先,我...