executor - Gestionare executor (executor)

Defineşte setările pentru executorul implicit de kernel Liberty. Reţineţi că există întotdeauna unul şi exact un executor implicit, pentru folosirea numai de către runtime-ul Liberty şi nu direct accesibil de aplicaţii. Aplicaţiile care au nevoie să configuraţi şi să utilizaţi executori ar trebui să utilizeze în loc Executori gestionaţi.

NameTypeDefaultDescription
namestringDefault ExecutorNumele executorului implicit de kernel Liberty.
maxThreadsint-1Numărul maxim de fire de execuţie care poate fi asociat cu executorul. Dacă este mai mare ca 0, această valoare trebuie să fie mai mare sau egală cu valoarea coreThreads. Dacă valoarea maxThreads este mai mică sau egală cu 0, numărul maxim de fire este nelimitat. Reţineţi că numărul real de fire de execuţie asociate cu executorul este determinat dinamic de kernelul Liberty, deci lăsând maximul de fire de execuţie nelimitat nu implică faptul că runtime-ul va crea activ un număr mare de fire de execuţie; lasă pur şi simplu kernelul Liberty să decidă câte fire de execuţie se asociază cu executorul fără a avea o limită superioară definită.
coreThreadsint-1Stare de pregătit sau numărul nucleu de fire de execuţie de asociat cu executorul. Numărul firelor asociate cu executantul va creşte rapid până la acest număr. Dacă această valoare este mai mică ca 0, este utilizată o valoare implicită. Valoarea implicită este calculată pe baza numărului de fire de execuţie hardware de pe sistem.
keepAliveO perioadă de timp cu precizie de milisecunde60sDurata de păstrare a unui fir de execuţie nefolosit în pool înainte de îi permite să termine de executat. Specificaţi un întreg pozitiv urmat de o unitate de timp, care poate fi ore (o), minute (m), secunde (s) sau milisecunde (ms). De exemplu, specificaţi 500 milisecunde ca 500ms. Puteţi include valori multiple într-o singură intrare. De exemplu, 1s500ms este echivalent cu 1.5 secunde.
stealPolicy
  • STRICT
  • NEVER
  • LOCAL
LOCALPolitica furt de lucru de folosit. Opţiunile pentru această politică determină modul în care lucrul este pus în coadă şi modul în care firele de execuţie obţin lucru din coadă.
STRICT
Toate firele care generează lucru deţin o coadă locală de lucru. Când coada locală de lucru este epuizată, firele asociate cu executantul preiau din lucrul altor fire.
NEVER
O coadă de lucru globală este utilizată pentru a da de lucru firelor care sunt asociate cu executantul. În acest caz nu se produce niciun furt.
LOCAL
Pentru lucru este utilizată şi o coadă de lucru globală, care este generată de firele neasociate cu executantul. Lucrul generat de firele de execuţie asociate cu executorul sunt plasate într-o stivă locală de lucru. Această coadă de lucru este deţinută de firul generator, dar poate fi furată de alt fir de execuţie. Când coada de lucru locală este goală şi nu mai există de lucru în coada globală, firele asociate cu executantul preiau din lucrul asociat altor fire.
rejectedWorkPolicy
  • ABORT
  • CALLER_RUNS
ABORTPolitică de angajare când executorul nu poate să intermedieze lucru pentru execuţie.
ABORT
Ridicaţi o excepţie.
CALLER_RUNS
Executaţi lucrul imediat pe firul apelantului.