Definisce le impostazioni per l'executor predefinito del kernel Liberty. Notare che esiste sempre un solo executor predefinito, per l'esclusivo utilizzo da parte del runtime Liberty e non è direttamente accessibile dalle applicazioni. Le applicazioni che necessitano di configurare e utilizzare gli executor devono invece utilizzare gli executor gestiti.
Name | Type | Default | Description |
---|---|---|---|
name | string | Default Executor | Il nome dell'executor predefinito del kernel Liberty. |
maxThreads | int | -1 | Il numero massimo di thread che può essere associato all'executor. Se maggiore di 0, questo valore deve essere superiore o uguale al valore di coreThreads. Se il valore maxThreads è inferiore o uguale a 0, il numero massimo di thread è illimitato. Tenere presente che il numero effettivo di thread associati all'executor viene determinato dinamicamente dal kernel Liberty, quindi lasciare il valore per il numero massimo di thread illimitato non implica che il runtime creerà grandi quantità di thread, semplicemente consentirà al kernel Liberty di decidere quanti thread associare all'executor senza avere un limite massimo definito. |
coreThreads | int | -1 | Il numero di thread principali o con stato stabile da associare all'executor. Il numero di thread associati all'executor raggiungerà rapidamente questo valore. Se questo valore è inferiore a 0, si utilizzerà un valore predefinito. Questo valore predefinito si calcola in base al numero di thread hardware sul sistema. |
keepAlive | Un periodo di tempo con precisione al millisecondo | 60s | L'intervallo di tempo durante cui si mantiene un thread inattivo nel pool prima di consentirne la chiusura. Specificare un numero intero positivo seguito da un'unità di tempo, che può essere ore (h), minuti (m), secondi (s) o millisecondi (ms). Ad esempio, specificare 500 millisecondi come 500ms. È possibile includere più valori in una singola immissione. Ad esempio, 1s500ms è equivalente a 1,5 secondi. |
stealPolicy |
| LOCAL | La politica di work-stealing da impiegare. Le opzioni per questa politica determinano la modalità di accodamento del lavoro e la modalità in base alla quale i thread ottengono il lavoro accodato. STRICT Tutti i thread che generano lavoro sono proprietari di una pila di lavori locale. I thread associati all'executor rilevano il lavoro da altri thread, quando si esaurisce la pila di lavori locale. NEVER Si utilizza una coda di lavori globale per fornire lavoro ai thread associati all'executor. Non si verificherà alcuna assegnazione non autorizzata. LOCAL Si utilizza una coda di lavori globale per il lavoro che viene generato da thread non associati all'executor. Il lavoro generato dai thread associati all'executor viene inserito in una pila di lavori locale. Il thread generatore è il proprietario di questa pila di lavori, a meno che non ne assuma la proprietà un altro thread in modo illegittimo. I thread associati all'executor rilevano il lavoro associato ad altri thread, se la pila di lavori locale è vuota e non sono presenti lavori nella coda di lavori globale. |
rejectedWorkPolicy |
| ABORT | La politica da impiegare quando l'executor non è in grado di organizzare il lavoro per l'esecuzione. ABORT Generare un'eccezione. CALLER_RUNS Eseguire immediatamente il lavoro sul thread del chiamante. |