【发布时间】:2014-04-14 00:33:00
【问题描述】:
Java 堆栈空间和服务器中的最大请求线程数是否相互关联?
它们之间的关系会不会导致服务器不响应请求而挂起?
【问题讨论】:
-
不,但可用内存和堆栈大小会限制您的线程数
标签: java tomcat threadpool
Java 堆栈空间和服务器中的最大请求线程数是否相互关联?
它们之间的关系会不会导致服务器不响应请求而挂起?
【问题讨论】:
标签: java tomcat threadpool
每个线程在分配时都有自己的堆栈,并且每个堆栈可以达到的最大大小(取决于 VM 实现)。因此,例如,您的堆栈大小可能设置为 1MB,但您可能有 1000 个线程,它们之间总共有 1GB 的最大堆栈使用量。
如果堆栈溢出,通常会出现异常。我想如果你有很多线程在堆栈上持有很多状态,没有完成,也没有溢出,那么你可能会耗尽你的内存并看到类似挂起的东西。
如果你想看看这个问题https://stackoverflow.com/a/20030999/857994 有一些有趣的信息。
【讨论】: