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

Java中的线程池有什么用?

颜均
2023-03-14
问题内容

线程池有什么用?现实世界中有一个很好的例子吗?


问题答案:

线程池是最初创建的一组线程,它们等待作业并执行它们。这个想法是让线程始终存在,这样我们就不必每次都花时间来创建它们。当我们知道有大量工作要处理时,它们是合适的,即使可能有一段时间没有工作。

这是Wikipedia的一个不错的图表:



 类似资料:
  • 线程池与任何ExecutorServices一样,我们定义了一个大小为3的newFixedPool。现在我有一个大约10000个可运行任务的队列。对于执行上述过程,我有这些疑问- > 要执行上述过程,执行者是否只允许来自任务queus的3个线程一次运行? 池将携带3个线程,这3个线程将只负责执行所有10000个任务。如果正确,单个线程如何运行不同的可运行任务,因为最终这些任务也是线程本身,并且在任

  • 本文向大家介绍为什么要用线程池? 相关面试题,主要包含被问及为什么要用线程池? 时的应答技巧和注意事项,需要的朋友参考一下 池化技术相比大家已经屡见不鲜了,线程池、数据库连接池、Http 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。** 线程池提供了一种限制和管理资源(包括执行一个任务)。 每个线程池还维护一些基本统计信息,例如已完成任务的数

  • 问题内容: 因此,我对Node.js的工作方式有所了解:它具有一个侦听器线程,该线程接收事件,然后将其委托给工作池。工作线程一旦完成工作,便会通知侦听器,然后侦听器将响应返回给调用者。 我的问题是:如果我在Node.js中建立一个HTTP服务器,并在我的一个路由路径事件(例如“ / test / sleep”)中调用sleep,那么整个系统就会停顿下来。甚至是单个侦听器线程。但是我的理解是这段代码

  • 主要内容:1 什么是Java 线程池,2 Java 线程池的优势,3 Java 线程池的应用场景,4 Java 线程池的例子1 什么是Java 线程池 Java线程池 表示一组正在等待作业并多次重复使用的工作线程。 如果是线程池,则会创建一组固定大小的线程。服务提供商从线程池中拉出一个线程并为其分配作业。作业完成后,线程再次包含在线程池中。 2 Java 线程池的优势 由于无需创建新线程,因此拥有更好的性能,可以节省时间。 3 Java 线程池的应用场景 在用户请求Servlet和JSP时,其中

  • 每个人我对使用线程池有一个误解。实际结果与该类的API描述不同。当我在线程池中使用时,它不重用线程,线程池等待构造函数中设置的KeepAliveTime,然后杀死这个线程并创建一个新线程。当我将KeepAliveTime设置为较小值时,比如1秒或更短,它会删除一个线程并重新创建它,但如果我设置一分钟,则不会创建新线程,因为不允许创建,队列已经满,所以所有任务都会被拒绝,但KeepAliveTime

  • 我最近在查看ThreadPoolExecutor的源代码时遇到了一个问题:如果线程池表示重用现有线程以减少线程创建或销毁的开销,为什么不在初始阶段重用核心线程?也就是说,当当前线程数小于核心线程数时,首先检查是否有已完成任务的核心线程,如果有,请重用。为什么不呢?这是否违反了线程池设计原则,而不是在达到核心线程数之前创建新线程? 以下是对ThreadPoolExecutor中addWorker()