有没有办法监视有多少线程实际上处于活动状态并正在运行我的 scala actor?

有帮助吗?

解决方案

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

菲利普·哈勒 已发出指示 使用您自己的执行器,如果您愿意,您可以在其中监视线程的使用情况,或者至少命名如此创建的线程。如果您覆盖线程命名,则可以使用标准 Java 系统 MBean(即 线程MXBean)以编程方式(或通过 JConsole/JVisualVM)监视线程。

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top