Dispatcher는 ActorSystem 내에서 실행되는 모든 코드를 스케줄링 합니다.

각 Actor의 처리량과 시간 점유율을 조정하여 각자에게 공정한 리소스를 제공합니다.

구성 변경을 하지 않는한 일반적으로 시나리오에 맞게 최적화 된 .Net ThreadPOOL을 사용합니다.


Dispatcher 설정기능을 제공함으로 , Ator별 다른 성능목표를 가지고 , 성능전략을 세울수가 있습니다.

Dispatcher



custom-dispatcher {
  type = Dispatcher
  throughput = 100
}

.NET ThreadPool 을 통해 작동이되며 대부분의 경우 이것만으로 충분합니다.


TaskDispatcher 


custom-task-dispatcher {
    type = TaskDispatcher
    throughput = 100
}

TPL 인프라를 사용합니다. ThreadPool과 유사하지만 병렬처리 Thread를 사용해야하는

특수한 케이스일때 사용합니다.


PinnedDispatcher


custom-dedicated-dispatcher {
    type = PinnedDispatcher
}

하나의 전용 스레드만 사용합니다.


ForkJoinDispatcher 



 전용 스레드풀을 사용하며, 이 스 케줄러를 이용할시 나머지 시스템에서 일부 액터를 분리할수가 있습니다.

나머지 Dispatcher는 최적화된 각자의 스레드풀이 있습니다.


적용샘플