当前位置: 首页 > 面试题库 >

Java中的线程数是否有硬性限制?

劳华灿
2023-03-14
问题内容

一些 消息来源说,即使您没有操作系统上限和无限的RAM,您对Java中的线程数(例如15k或30k)也有硬性限制。我还听说,在Java
7中取消了此限制。两种说法都是正确的吗?


问题答案:

在Java虚拟机规范没有规定对线程数目的限制。它们通常受可用堆栈空间量的限制,因为每个线程都有自己的专用堆栈。(无法分配堆栈通常是在尝试创建新线程时触发OutOfMemory异常的原因。)我认为线程池和其他机制也可以用来限制线程数。(例如,Sun
Java System Portal
Server使用它

来限制事务数量。)

不同的虚拟机实现可能会施加其他约束。例如,BlackBerry
OS将非系统线程限制为每个应用程序16个,总共64个。我希望其他VM制造商也施加其他限制。我会与VM制造商联系,以寻求答案。



 类似资料:
  • 问题内容: 我有一个字符串定义为 字串xx 我可以分配的字符数有限制吗? 2)我正在将用户输入分配给此字符串xx。70%的人只说一个字。有时他们会说一个大句子,所以想知道可以吗?还是有更好的Java做法? 问题答案: 您可能已经搜索过一个常见问题,但无论如何我都会再次回答。 我可以分配的字符数有限制吗? 它的Integer.MAX_VALUE或2 ^ 31-1或大约20亿。在达到此大小之前,您更有

  • 问题内容: HTML中的属性值需要多长时间? 我在一个新的应用程序中使用HTML5样式数据属性(),并且在一个地方存储大量数据(最多100个字符)非常方便。虽然我怀疑这笔钱是可以的,但它提出了多少是太多的问题? 问题答案: HTML 4 从HTML 4的角度来看,属性是SGML构造。它们的限制在HTML4的SGML声明中定义: 这里讨论的值是“ ATTSPLEN”,这是元素的属性规范列表的限制(应

  • 问题内容: 我正在寻找类似于ThreadLocal的类,该类将在线程组而不是线程上工作。 如果没有这样的类(在某些开源库中),您将如何实现它?比在WeakHashMap中拥有线程组更好的主意? 我正在使用全局,每个线程和每个线程组上下文中的各种参数在运行时实现可调试的调试框架。作为一个非常简单的示例,您可以有一个报告语句: 并指定只有当服务网络请求的线程组中的某个线程调用该线程时,才会显示具有该特

  • 如果每枚硬币的数量是无限的,那么复杂性是O(n*m),其中是总变化,是硬币类型的数量。现在,当每种类型的硬币都受到限制时,我们必须考虑剩余的硬币。我设法使它与的复杂性使用另一个大小的,所以我可以跟踪每个类型的剩余硬币。有没有一种方法可以让复杂性变得更好?编辑:问题是计算进行精确给定更改所需的最少硬币数量以及我们使用每种硬币类型的次数

  • 问题内容: 我正在使用的类创建用于运行Web服务器的请求处理程序的固定线程池: 并且说明是: 创建一个线程池,该线程池重用在共享的 无边界 队列上运行的一组固定线程。 但是,我正在寻找实现与缓冲池完全相同的线程池实现,除了使用有 界 队列。有这样的实现吗?还是我需要为固定线程池实现自己的包装器? 问题答案: 您想要做的是新建自己的ExecutorService,可能使用ThreadPoolExec

  • 问题内容: 我正在尝试使用jQuery Ajax将页面中的数据数组发送到MVC Action。这是我的jQuery代码: 让我解释一下。我有一个动态生成的HTML表,我需要将此数据存储到数据库中。在jQuery中,我遍历表有一个循环,我将数组中每一行的数据存储起来。然后,我使用Ajax将这些数据传递到MVC Action中。 这是我的问题开始的地方…我已经意识到有时会按预期进行,但是有时我会从Aj