executor - Gestión del ejecutor (executor)

Define los valores para el ejecutor predeterminado del kernel de Liberty. Tenga en cuenta que siempre existe un único ejecutor predeterminado para que lo utilice únicamente el tiempo de ejecución de Liberty y no para que otras aplicaciones puedan acceder al mismo de forma directa. Las aplicaciones que necesitan configurar y utilizar los ejecutores deberán utilizar, en su lugar, los ejecutores gestionados.

NameTypeDefaultDescription
namestringDefault ExecutorEl nombre del ejecutor predeterminado del kernel de Liberty.
maxThreadsint-1Número máximo de hebras que se puede asociar con el ejecutor. Si es mayor que 0, este valor debe ser mayor o igual que el valor de coreThreads. Si el valor de maxThreads es menor o igual que 0, el número máximo de hebras no tiene límites. Tenga en cuenta que el número real de hebras asociado al ejecutor lo determina dinámicamente el kernel de Liberty, por lo tanto, si no se limita el número máximo de hebras no significa que el tiempo de ejecución creará de forma activa grandes cantidades de hebras, simplemente permite que el kernel de Liberty decida el número de hebras que se ha de asociar al ejecutor sin que exista un límite máximo definido.
coreThreadsint-1Número principal o estado estable de hebras que se va a asociar con el ejecutor. El número de hebras asociadas con el ejecutor alcanzará rápidamente este número. Si este valor es menor de 0, se utiliza un valor por omisión. Este valor por omisión se calcula basándose en el número de hebras de hardware del sistema.
keepAliveUn período de tiempo con precisión de milisegundos60sTiempo durante el que debe conservarse una hebra desocupada en la agrupación antes de que termine. Especifica un entero positivo seguido de una unidad de tiempo, que puede ser horas (h), minutos (m), segundos (s) o milisegundos (ms). Por ejemplo, especifique 500 milisegundos como 500ms. Puede incluir varios valores en una sola entrada. Por ejemplo, 1s500ms es equivalente a 1,5 segundos.
stealPolicy
  • STRICT
  • NEVER
  • LOCAL
LOCALPolítica de robo en el trabajo que debe aplicarse. Las opciones de esta política determinan cómo se coloca en cola el trabajo, y cómo las hebras obtienen el trabajo en cola.
STRICT
Todas las hebras que generan trabajo poseen una pila de trabajo local. Las hebras asociadas con el ejecutor toman trabajo de otras hebras cuando la pila de trabajo local se ha agotado.
NEVER
Una cola de trabajo global se utiliza para dar trabajo a las hebras asociadas con el ejecutor. No tendrá lugar ningún robo.
LOCAL
Se utiliza una cola de trabajo global para trabajos generados por hebras no asociadas con el ejecutor. El trabajo generado por las hebras asociadas con el ejecutor se coloca en una pila de trabajo local. Esta pila de trabajo es propiedad de la hebra que la ha generado, a no ser que otra hebra se la robe. Las hebras asociadas con el ejecutor toman trabajo de otras hebras si la pila de trabajo local está vacía y no hay trabajos en la cola de trabajo global.
rejectedWorkPolicy
  • ABORT
  • CALLER_RUNS
ABORTPolítica que se utilizará cuando el ejecutor no pueda dividir en fases el trabajo para su ejecución.
ABORT
Generar una excepción.
CALLER_RUNS
Ejecutar el trabajo inmediatamente en la hebra del llamante.