Multithreading 线程数过多问题

Multithreading 线程数过多问题,multithreading,playframework,dispatcher,Multithreading,Playframework,Dispatcher,我对PlayFramework中的线程名称有一些疑问。 我已经在这个剧本上开发了RESTAPI服务大约5个月了。 该应用程序只需访问MySQL,并将json格式的数据发送回客户端。 我已经理解了“阻塞io”的陷阱,所以 我为阻塞io创建了一个线程池,并在以后的所有阻塞中使用它 阻止线程执行。 线程池的定义如下 akka { actor-system = "myActorSystem" blocking-io-dispatcher { type = Dispatcher

我对PlayFramework中的线程名称有一些疑问。 我已经在这个剧本上开发了RESTAPI服务大约5个月了。 该应用程序只需访问MySQL,并将json格式的数据发送回客户端。 我已经理解了“阻塞io”的陷阱,所以 我为阻塞io创建了一个线程池,并在以后的所有阻塞中使用它 阻止线程执行。 线程池的定义如下

akka {
  actor-system = "myActorSystem"


  blocking-io-dispatcher {
    type = Dispatcher
    executor = "thread-pool-executor"
    thread-pool-executor {
      fixed-pool-size = 64
    }
    throughput = 10
  }
}
我检查了日志文件,并确保所有非阻塞逻辑 在名为“application akka.actor.default dispatcher-#”的线程下运行,其中

是整数值,所有阻塞逻辑都在名为 “应用程序阻塞io调度程序”。 然后,我使用“Jconsole”检查了所有线程的名称和计数。 名为“application akka.actor.default dispatcher-#”的线程数为 始终低于13,且线程计数为“应用程序阻塞io调度程序-#” 他总是在30岁以下。 但是,运行我的应用程序的JVM的总线程数会增加 不断地线程总数超过10000个

有很多线程的名称以“defaultscheduler-”或 '默认akka.actor.default dispatcher'

我的问题是

a。“application akka.actor.default dispatcher”和“application akka.actor.default dispatcher”之间有什么区别 和“default akka.actor.default dispatcher-”

b。线程数增加有什么原因吗

我想解决这个问题。
这是我的环境

操作系统:Windows10Pro。64位

CPU:Intel(R)Core i7@3.5GHz

内存:64GB

JVM:1.8.0_162 64位

游戏框架:2.6

关系数据库管理系统:MySQL 5.7.21


如有任何建议,将不胜感激。提前谢谢。

我终于解决了这个问题。有一个bug无法关闭的实例 阿克卡的物化器。修改代码后,VM中的线程数保持稳定值。 谢谢