答案 0 :(得分:4)
Java Virtual Machine Specification未指定线程数限制。它们通常受可用堆栈空间量的限制,因为每个线程都有自己的私有堆栈。 (无法分配堆栈通常会在尝试创建新线程时触发OutOfMemory异常。)我相信线程池和其他机制也可用于限制线程数。 (例如,Sun Java System Portal Server使用它来限制事务数量。)
不同的虚拟机实现可能会施加其他约束。例如,BlackBerry OS将非系统线程限制为每个应用程序16个,总计64个。我预计其他VM制造商也会施加额外的限制。我会咨询VM制造商以获得答案。