2009-11-28 3 views

답변

5

적절하게이 작업을 수행 할 수있는 유일한 방법은 기본적으로 같은 배우 서브 시스템에 대한 자신 집행를 주입하는 것입니다, 배우 스레드 그들은 단지 Thread-N 또는 pool-N-thread-M를 호출 할 수 있습니다 (actor- 또는 스칼라 고유의 이름을 가지고 있지 않습니다 스칼라의 버전에 따라 당신은 당신이 원하는 경우 스레드 사용을 모니터링 할 수있는, 자신의 실행기를 사용하여.

필립 할러 has given instructions를 사용하고, 또는 당신의 이름을 지정 스레드를 오버라이드 (override)하는 경우 최소한. 이렇게 생성 된 스레드의 이름을 그런 다음 표준 Java 시스템 MBeans (즉, ThreadMXBean)를 사용하여 프로그래밍 방식으로 스레드를 모니터 할 수 있습니다 (또는 JConsole/JVisualVM을 통해).

참고 할 수 있습니다 제어 시스템 등록 정보를 사용하여 기본 메커니즘 :

  • actors.minPoolSize
  • actors.maxPoolSize
  • actors.corePoolSize
3

VisualVM 도구 (Sun에서 무료로 제공)를 사용해보십시오. 무엇보다도 JVM을 실행하는 스레드를 모니터 할 수 있습니다.

+1

하지만 * 스레드는 * 패러다임 말하지 않을 것이다 실제로 액터 서비스하기 –

+1

액터를 제공하는 쓰레드는 그들을 구별 할 수있는 특별한 이름을 가질 것입니다 VM 스레드에서. 스레드가 VM 스레드가 아니며 사용자가 만들지 않은 스레드는 액터 스레드 일 것입니다. 그래서 +1. –

+0

@ Seun - 불행히도 그들은 일종의 종류가 없습니다. 스칼라 2.7.5 또는 2.7.7의 실행 여부에 따라 그들은'Thread-N' 또는'Pool-N-thread-M'입니다. 이 질문에 대한 유일한 정답은 자신의 스케줄러를 삽입하는 것입니다 –