executor - 실행기 관리 (executor)

Liberty 커널 기본 실행기에 대한 설정을 정의합니다. Liberty 런타임 전용으로 사용하며 애플리케이션에서 직접 액세스할 수 없는 기본 실행기가 항상 정확하게 하나가 있다는 것을 참고하십시오. 실행기를 구성하고 활용해야 하는 애플리케이션은 대신 관리 실행기를 사용해야 합니다.

NameTypeDefaultDescription
namestringDefault ExecutorLiberty 커널 기본 실행기의 이름입니다.
maxThreadsint-1실행기와 연관시킬 수 있는 최대 스레드 수입니다. 0보다 크면 이 값은 coreThreads 값보다 크거나 같아야 합니다. maxThreads 값이 0 이하이면 최대 스레드 수는 무한합니다. 실행기와 연관되는 실제 스레드 수는 Liberty 커널에 의해 동적으로 결정되므로, 최대 스레드 수를 바인드되지 않은 상태로 둔다고 해서 런타임이 대량의 스레드를 적극적으로 작성한다는 의미는 아닙니다. 정의된 상단 경계 없이 실행기와 연관시킬 스레드 수를 Liberty 커널에서 결정할 수 있도록 합니다.
coreThreadsint-1실행기와 연관시킬 스레드의 고정 상태 또는 코어 수입니다. 실행기와 연관된 스레드 수는 곧 이 수가 수가 됩니다. 이 값이 0 미만인 경우 기본값이 사용됩니다. 이 기본값은 시스템의 하드웨어 스레드 수에 기초하여 계산됩니다.
keepAlive밀리초 정밀도를 사용하는 기간60s유휴 스레드가 종료하기 전에 이를 풀에 보관하는 시간입니다. 시간 단위가 뒤따르는 양수를 지정하십시오. 이는 시간(h), 분(m), 초(s) 또는 밀리초(ms)일 수 있습니다. 예를 들어, 500밀리초를 500ms로 지정하십시오. 하나의 항목에 여러 값을 포함할 수 있습니다. 예를 들어, 1s500ms는 1.5초와 동등합니다.
stealPolicy
  • STRICT
  • NEVER
  • LOCAL
LOCAL이용할 작업 스틸 정책입니다. 이 정책의 옵션은 작업이 큐된 방법과 스레드가 큐된 작업을 얻는 방법을 판별합니다.
STRICT
작업을 생성하는 모든 스레드는 로컬 작업 더미를 소유합니다. 실행기와 연관되어 있는 스레드는 로컬 작업 더미가 소진되면 기타 스레드에서 작업을 가져옵니다.
NEVER
글로벌 작업 큐는 실행기와 연관되어 있는 스레드에 작업을 피드하는 데 사용됩니다. 절도는 발생하지 않습니다.
LOCAL
글로벌 작업 큐는 실행기와 연관되지 않은 스레드에서 생성되는 작업에 사용됩니다. 실행기와 연관된 스레드에서 생성되는 작업은 로컬 작업 더미에 배치됩니다. 이 작업 더미는 다른 스레드에서 절도를 하지 않는 한 생성 스레드에서 소유합니다. 실행기와 연관되어 있는 스레드는 로컬 작업 더미가 비어 있고 글로벌 작업 큐에 작업이 없는 경우 기타스레드와 연관된 작업을 가져옵니다.
rejectedWorkPolicy
  • ABORT
  • CALLER_RUNS
ABORT실행기가 실행할 작업을 스테이징할 수 없을 때 정책이 사용됩니다.
ABORT
예외를 발생시킵니다.
CALLER_RUNS
통화 발신자의 스레드에서 즉시 작업을 실행합니다.