Определяет параметры для стандартного исполнителя ядра Liberty. Обратите внимание, что всегда существует один и только один исполнитель, который используется лишь средой выполнения Liberty и недоступен приложениям непосредственно. Приложения, которым требуется настраивать и использовать исполнители, должны вместо этого использовать управляемые исполнители.
Name | Type | Default | Description |
---|---|---|---|
name | string | Default Executor | Имя стандартного исполнителя ядра Liberty. |
maxThreads | int | -1 | Максимальное число нитей, которые можно связать с исполнителем. Если значение больше 0, то оно должно быть больше либо равно значению coreThreads. Если значение maxThreads меньше либо равно 0, то максимальное число нитей не ограничивается. Обратите внимание, что фактическое число нитей, связанных с исполнителем, определяется ядром Liberty динамически, поэтому если максимальное число нитей остается непривязанным, это не означает, что среда выполнения будет активно создавать множество нитей. Это лишь позволяет ядру Liberty определить, сколько нитей требуется связать с исполнителем без определения верхнего предела. |
coreThreads | int | -1 | Число связанных с исполнителем нитей в устойчивом состоянии или нитей ядра. Число нитей исполнителя будет быстро увеличиваться до этого значения. Если указано значение меньше 0, будет использоваться значение по умолчанию. Значение по умолчанию вычисляется на основе числа аппаратных нитей в системе. |
keepAlive | Период (с точностью до миллисекунды) | 60s | Время для хранения бездействующей нити в пуле до возможности ее завершения. Укажите положительное целое число, за которым следует единица времени: часы (h), минуты (m), секунды (s) или миллисекунды (ms). Например, укажите 500 миллисекунд как 500ms. Одна запись может включать несколько значений. Так, 1s500ms равно 1,5 сек. |
stealPolicy |
| LOCAL | Стратегия перехвата работы для распределения: варианты определения стратегией способов формирования очереди заданий и получения нитями этих заданий. STRICT Все нити, формирующие задания, имеют локальную кучу заданий. Нити, связанные с исполнителем, получают задания из других нитей, если локальная куча заданий исчерпалась. NEVER Глобальная очередь заданий используется для передачи заданий в нити, связанные с исполнителем. Перехват выполняться не будет. LOCAL Глобальная очередь заданий используется для заданий, сформированных нитями, которые не связаны с исполнителем. Задание, которое сформировано нитями, связанными с исполнителем, помещается в локальную кучу заданий. Эта куча принадлежит создавшей ее нити, пока не будет перехвачена другой нитью. Если в своей локальной куче и глобальной очереди задания заданий нет, то нити, связанные с исполнителем, получают задания, связанные с другими нитями. |
rejectedWorkPolicy |
| ABORT | Стратегия использования в ситуации, если исполнитель не может организовать задание для выполнения. ABORT Возникла исключительная ситуация. CALLER_RUNS Выполнить задание немедленно в нити инициатора. |