executor - Gestion du programme d'exécution (executor)

Définit les paramètres pour le programme d'exécution par défaut du noyau Liberty. Notez qu'il y a toujours un et exactement un programme d'exécution par défaut, lequel est utilisé uniquement par l'environnement d'exécution Liberty et n'est pas directement accessible par les applications. Les applications qui ont besoin de configurer et d'utiliser des exécuteurs doivent utiliser à la place des programmes d'exécution gérés.

NameTypeDefaultDescription
namestringDefault ExecutorNom du programme d'exécution par défaut du noyau Liberty.
maxThreadsint-1Nombre maximal d'unités d'exécution qui peuvent être associées à l'exécuteur. Si la valeur spécifiée est supérieure à 0, elle doit nécessairement être égale ou supérieure à celle de la propriété coreThreads (Unités d'exécution de base). Si la valeur spécifiée est inférieure ou égale à 0, le nombre d'unités d'exécution n'est pas limité. Notez que le nombre réel d'unités d'exécution associées au programme d'exécution étant déterminé de manière dynamique par le noyau Liberty, le fait de ne pas limiter le nombre maximal de ces unités n'implique pas que l'environnement d'exécution en créera activement un grand nombre ; il permet simplement au noyau Liberty de déterminer le nombre d'unités d'exécution à associer au programme d'exécution, sans les plafonner.
coreThreadsint-1Nombre standard d'unités d'exécution à associer à l'exécuteur. Le nombre d'unités d'exécution effectivement associées à l'exécuteur augmentera rapidement pour atteindre cette valeur standard. Si la valeur spécifiée est inférieure à 0, une valeur par défaut sera utilisée. Cette valeur par défaut sera calculée en fonction du nombre d'unités d'exécution physiques du système.
keepAlivePériode avec une précision à la milliseconde près60sDurée pendant laquelle une unité d'exécution au repos est maintenue dans le pool avant d'être autorisée à se terminer. Indiquez une valeur entière positive suivie d'une unité de temps, qui peut être heure (h), minute (m), seconde (s) ou milliseconde (ms). Par exemple, pour 500 millisecondes, indiquez 500ms. Vous pouvez inclure plusieurs valeurs dans une même entrée. Par exemple, 1s500ms correspond à 1 seconde et demie.
stealPolicy
  • STRICT
  • NEVER
  • LOCAL
LOCALPolitique de vol de travail à utiliser. Les options de cette politique déterminent comment les travaux sont mis en file d'attente et comment les unités d'exécution obtiennent ces travaux.
STRICT
Toutes les unités d'exécution qui génèrent des travaux possèdent leur propre pile de travaux locale. Les unités d'exécution associées à l'exécuteur prennent des travaux aux autres unités d'exécution lorsque leur propre pile locale est vide.
NEVER
Une file de travaux globale est utilisée pour alimenter en travaux les unités d'exécution qui sont associées à l'exécuteur. Aucun vol de travail n'a lieu.
LOCAL
Une file de travaux globale est utilisée pour les travaux générés par les unités d'exécution qui ne sont pas associées à l'exécuteur. Le travail généré par les unités d'exécution associées à l'exécuteur est placé dans une pile locale. Cette pile de travaux appartient à l'unité d'exécution qui génère les travaux en question, sauf si une autre unité d'exécution la lui vole. Les unités d'exécution associées à l'exécuteur prennent des travaux aux autres unités d'exécution lorsque leur propre pile locale est vide et qu'il n'y a plus de travail dans la file d'attente globale.
rejectedWorkPolicy
  • ABORT
  • CALLER_RUNS
ABORTPolitique à appliquer lorsque l'exécuteur n'est pas en mesure de mettre en attente les travaux à exécuter.
ABORT
Lever une exception.
CALLER_RUNS
Exécuter le travail immédiatement sur l'unité d'exécution de l'appelant.