一个Java虚拟机可以支持多少线程?这是否因供应商而异?按操作系统?其他因素?

推荐答案

This depends on the CPU you're using, on the OS, on what other processes are doing, on what Java release you're using, and other factors. I've seen a Windows server have > 6500 Threads before bringing the machine down. Most of the threads were not doing anything, of course. Once the machine hit around 6500 Threads (in Java), the whole machine started to have problems and become unstable.

我的经验表明,Java(最新版本)可以轻松地使用计算机本身可以承载的线程数,而不会出现问题.

当然,您必须有足够的RAM,并且必须用足够的内存启动Java,以完成线程正在做的所有事情,并 for each 线程提供一个堆栈.任何拥有现代CPU(最新几代的AMD或Intel)和1-2G内存(取决于操作系统)的机器都可以轻松支持具有thousands个线程的JVM.

如果你需要一个比这更具体的答案,你最好的办法就是分析.

Java相关问答推荐

使用联接和分页的SpringBoot Spring数据JPA

如何打印本系列的第n项y=-(1)-(1+2)+(1+2+3)+(1+2+3+4)-(1+2+3+4+5)...Java中的(1+2+3+4...+n)

';com.itextpdf.ext.html.WebColors已弃用

如何修复IndexOutOfBoundsException在ClerView适配器的onRowMoved函数?

安装Java Jar应用程序的Install4j遇到ClassNotFoundException的运行时错误

返回响应时,CamelCase命名约定不起作用

WebSockets和Spring Boot安全性出现错误401

在向WebSphere中的文档添加元素时iText挂起

在添加AdMob时无法为Google Play构建应用程序包:JVM垃圾收集器崩溃和JVM内存耗尽

如何在构建Gradle项目时排除com.google.guava依赖项的一个变体

Java泛型类方法的静态返回类型是否被类型擦除?

将stringBuilder + forloop转换为stream + map

项目react 堆中doOnComplete()和Subscribe()的第三个参数之间的差异

JOLT根据值删除并保留其余的json键

using case default on switch语句返回;预览特征切换中的模式匹配仅在源级别20及以上的情况下可用;

java.exe如何执行java源代码?

Spring Integration SFTP 连接失败 - 无法协商 kex 算法的密钥交换

具有 DayOfWeek 列表的 JPA 实体

人们在 IntelliJ 上将-Dhttp.proxyHost=your.proxy.net -Dhttp.proxyPort=8080放在哪里?

正则表达式从Java中的字符串中提取包含逗号的证书组件