定義 Liberty 核心預設執行程式的設定。請注意,一律要有唯一一個執行程式,並且只供 Liberty 執行時期使用,無法供應用程式直接存取。需要配置和利用執行程式的應用程式應改用「受管理的執行程式」。
Name | Type | Default | Description |
---|---|---|---|
name | string | Default Executor | Liberty 核心預設執行程式的名稱。 |
maxThreads | int | -1 | 可以與執行程式相關聯的執行緒數目上限。如果大於 0,這個值必須大於或等於 coreThreads 的值。 如果 maxThreads 的值小於或等於 0,則沒有執行緒數目上限。請注意,執行程式相關聯的實際執行緒數目,由 Liberty 核心動態決定,因此如果維持執行緒數目無上限,並不意指執行時期會主動建立大量的執行緒;它只會讓 Liberty 核心決定執行程式會有多少個相關聯的執行緒,而不需定義一個上限。 |
coreThreads | int | -1 | 要與此執行程式相關聯的恆定或核心執行緒數目。與執行程式相關聯的執行緒數目將會快速成長至這個數目。如果這個值小於 0,則會使用預設值。這個預設值是根據系統上的硬體執行緒數目所計算出來的。 |
keepAlive | 精準度是毫秒的時間量 | 60s | 閒置的執行緒在容許終止之前,保存在儲存區中的時間量。. 指定正整數加上時間單位,時間單位可以是小時 (h)、分鐘 (m)、秒 (s) 或毫秒 (ms)。例如,指定 500 毫秒為 500ms。您可以在單一項目中包括多個值。例如,1s500ms 相等於 1.5 秒。 |
stealPolicy |
| LOCAL | 要採用的工作竊取原則。這個原則的選項會決定工作如何排入佇列,以及執行緒如何取得已排入佇列的工作。 STRICT 產生工作的所有執行緒都會擁有一個本端工作堆。 當本端工作堆耗盡時,與執行程式相關聯的執行緒會從其他執行緒取得工作。 NEVER 廣域工作佇列用來饋送工作給與執行程式相關聯的執行緒。不會發生竊取。 LOCAL 未與執行程式相關聯的執行緒所產生的工作,會使用廣域工作佇列。與執行程式相關聯的執行緒所產生的工作放在本端工作堆上。這個工作堆是由產生者執行緒所擁有,除非另一個執行緒竊取工作堆。如果本端工作堆是空的,而且廣域工作佇列中沒有工作,與執行程式相關聯的執行緒,會取得與其他執行緒相關聯的工作。 |
rejectedWorkPolicy |
| ABORT | 當執行程式無法暫置要執行之工作時要採用的原則。 ABORT 發出異常狀況。 CALLER_RUNS 在呼叫端的執行緒立即執行工作。 |