scala actor的线程监控

时间:2009-11-28 16:04:27

标签: scala multithreading actor

有没有办法监控实际存在多少个线程并运行我的scala actor?

2 个答案:

答案 0 :(得分:5)

正确执行此操作的唯一方法是为actors子系统注入自己的 executor ,因为默认情况下,actor线程没有特定于actor或scala的名称(它们可能只是名为Thread-Npool-N-thread-M,具体取决于您使用的Scala版本。

Philip Haller has given instructions使用您自己的执行程序,您可以根据需要监视线程使用情况,或者至少命名如此创建的线程。如果覆盖线程命名,则可以使用标准Java系统MBean(即ThreadMXBean)以编程方式(或通过JConsole / JVisualVM)监视线程。

请注意,您可以使用系统属性控制默认机制:

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

答案 1 :(得分:3)

您可以尝试VisualVM工具(可从Sun免费获得)。除此之外,它还可以监视正在运行的JVM中的线程。