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