executor - Zarządzanie wykonawcami (executor)

Definiuje ustawienia domyślnego wykonawcy jądra Liberty. Należy zauważyć, że zawsze istnieje dokładnie jeden wykonawca domyślny. Jest on przeznaczony wyłącznie dla środowiska wykonawczego Liberty i nie jest dostępny bezpośrednio dla aplikacji. Aplikacje, które potrzebują konfigurować i używać wykonawców, powinny zamiast tego korzystać z wykonawców zarządzanych.

NameTypeDefaultDescription
namestringDefault ExecutorNazwa domyślnego wykonawcy jądra Liberty.
maxThreadsint-1Maksymalna liczba wątków, które można powiązać z wykonawcą. Jeśli ta liczba ma być większa niż 0, jej wartość nie może być mniejsza niż wartość parametru coreThreads. Jeśli wartość parametru maxThreads nie jest większa niż 0, maksymalna liczba wątków będzie nieograniczona. Należy zauważyć, że rzeczywista liczba wątków powiązanych z wykonawcą jest określana dynamicznie przez jądro Liberty, dlatego pozostawienie nieograniczonej maksymalnej liczby wątków nie oznacza, że środowisko wykonawcze będzie aktywnie tworzyć bardzo wiele wątków. Pozwala to jedynie jądru Liberty decydować o liczbie wątków, które mają być powiązane z wykonawcą, bez definiowania górnego ograniczenia.
coreThreadsint-1Liczba wątków w stanie stabilnym lub wątków podstawowych, które zostaną powiązane z tym wykonawcą. Liczba wątków powiązanych z wykonawcą szybko osiągnie tę wartość. Jeśli wartość jest mniejsza niż 0, zostanie użyta wartość domyślna. Wartość domyślna jest obliczana na podstawie liczby wątków sprzętowych w systemie.
keepAliveOkres z dokładnością do milisekundy60sCzas utrzymywania bezczynnego wątku w puli, zanim otrzyma pozwolenie na przerwanie działania. Określ dodatnią liczbę całkowitą, po której następuje jednostka czasu, taka jak godziny (h), minuty (m), sekundy (s) lub milisekundy (ms). Na przykład określ 500 milisekund jako 500ms. W pojedynczej pozycji można zawrzeć wiele wartości. Na przykład 1s500ms oznacza 1,5 sekundy.
stealPolicy
  • STRICT
  • NEVER
  • LOCAL
LOCALStrategia kradzieży pracy, która ma zostać zastosowana. Opcje tej strategii określają sposób umieszczania pracy w kolejce oraz sposób uzyskiwania pracy znajdującej się w kolejce.
STRICT
Wszystkie wątki, które generują pracę, są właścicielami lokalnej sterty pracy. Po wyczerpaniu lokalnej sterty pracy wątki, które są powiązane z wykonawcą, pobierają pracę z innych wątków.
NEVER
Zadaniem globalnej kolejki pracy jest zapewnienie pracy dla wątków powiązanych z wykonawcą. Kradzież nie wystąpi.
LOCAL
Globalna kolejka pracy jest używana do obsługi pracy generowanej przez wątki, które nie są powiązane z wykonawcą. Praca generowana przez wątki powiązane z wykonawcą jest umieszczana w lokalnej stercie pracy. Właścicielem tej sterty pracy jest wątek, który ją utworzył, chyba że zostanie ona skradziona przez inny wątek. Jeśli lokalna sterta pracy jest pusta i nie ma pracy w globalnej kolejce pracy, wątki powiązane z wykonawcą pobierają pracę powiązaną z innymi wątkami.
rejectedWorkPolicy
  • ABORT
  • CALLER_RUNS
ABORTStrategia używana w sytuacjach, kiedy wykonawca nie może pośredniczyć w wykonywaniu pracy.
ABORT
Zgłoś wyjątek.
CALLER_RUNS
Wykonaj pracę natychmiast w wątku programu wywołującego.