线程数太多问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程数太多问题相关的知识,希望对你有一定的参考价值。
我对PlayFramework中的线程名称有一些疑问。我在Play上开发了Rest-API服务约5个月。该应用程序只是访问mysql,并将json格式的数据发送回客户端。我已经理解了'阻塞io'的陷阱,所以我创建了一个用于阻塞io的线程池,并使用阻止线程执行的所有Future块。线程池的定义如下。
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-#'的线程下运行,其中
is integer value and that all blocking logics run under thread named
'应用阻挡-IO-调度'。然后我使用'Jconsole'检查了所有线程名称和计数。名为'application-akka.actor.default-dispatcher-#'的线程数始终低于13,'application-blocking-io-dispatcher-#'的线程数始终低于30.但是,总线程数为我的应用程序运行的JVM不断增加。线程总数超过10,000。
有这么多线程,其名称以'default-scheduler-'或'default-akka.actor.default-dispatcher'开头。
我的问题是
一个。 'application-akka.actor.default-dispatcher'和'default-akka.actor.default-dispatcher-'之间有什么区别?
湾线程数增加有什么原因吗?
我想解决这个问题。 这是我的环境。
AS:总是10 Pro。 64位
CPU:Intel(R)Core i7 @ 3.5GHz
内存:64GB
JVM:1.8.0_162 64位
PlayFramework:2.6
RDBMS:MySQL 5.7.21
任何建议将不胜感激。提前致谢。
最后我解决了这个问题。有一个错误不会关闭akka的Materializor实例。修改代码后,VM中的线程数保持稳定值。谢谢。
以上是关于线程数太多问题的主要内容,如果未能解决你的问题,请参考以下文章
asp分页问题,数据库记录数太多,有没有更有效的查询方法,急!!