Мониторинг потоков для актеров Scala - PullRequest
3 голосов
/ 28 ноября 2009

Есть ли способ контролировать, сколько потоков на самом деле живы и работают мои актеры скалы?

Ответы [ 2 ]

5 голосов
/ 30 ноября 2009

Единственный способ сделать это правильно - внедрить свой собственный executor для подсистемы актеров, так как по умолчанию потоки акторов не имеют специфичных для актера или scala имен (их можно просто вызвать Thread-N или pool-N-thread-M в зависимости от используемой версии Scala.

Филипп Халлер дал инструкции по использованию вашего собственного исполнителя, где вы можете отслеживать использование потоков, если хотите, или, по крайней мере, назвать потоки, созданные таким образом. Если вы переопределите именование потоков, вы можете использовать стандартные MBeans системы Java (т.е. ThreadMXBean ) для программного мониторинга потоков (или через JConsole / JVisualVM).

Обратите внимание, что вы можете управлять механизмом по умолчанию, используя системные свойства:

  • actors.minPoolSize
  • actors.maxPoolSize
  • actors.corePoolSize
3 голосов
/ 28 ноября 2009

Вы можете попробовать инструмент VisualVM (доступен бесплатно от Sun). Помимо прочего, он может отслеживать потоки в запущенных JVM.

...