java - 多线程中的线程池

标签 java multithreading threadpool

java中ThreadPool是什么,ThreadPool有什么用?

  • 是否会使用共享内存和线程安全。

  • 可以使用 ThreadPool 声明线程优先级。

最佳答案

Java 线程池代表一组正在等待作业并多次重用的工作线程。

在线程池的情况下,会创建一组固定大小的线程。从线程池中拉出一个线程,并由服务提供者分配一个作业。作业完成后,线程再次进入线程池。

要理解这一点,请考虑一个网络服务器应用程序,其中每个 HTTP 请求都由单独的线程处理。如果应用程序简单地为每个新的 HTTP 请求创建一个新线程,并且系统收到的请求多于它可以立即处理的请求,那么当所有这些线程的开销超过系统的容量时,应用程序将突然停止响应所有请求。由于可以创建的线程数量受到限制,应用程序不会在 HTTP 请求传入时尽快为它们提供服务,但会在系统能够维持的情况下尽快为它们提供服务。

Most of the executor implementations in java.util.concurrent use thread pools, which consist of worker threads. This kind of thread exists separately from the Runnable and Callable tasks it executes and is often used to execute multiple tasks.

Java线程池的优势 更好的性能它节省了时间,因为不需要创建新线程。

实时使用情况 它用于 Servlet 和 JSP,其中容器创建线程池来处理请求。

关于java - 多线程中的线程池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48912444/

相关文章:

java - 为什么 Java 在我的 Linux 服务器上使用这么多内存?

Java 线程 - 这是同步的正确使用吗

java - 即使使用线程池,多线程时许多短期任务也会变慢

python - 如何将 Tornado 与线程池一起使用?

java - 为什么我的程序不断给我一个 ArrayIndexOutOfBoundsException 即使我没有

java - 如何使用 Spring 在特定日期执行方法?

c - c11 中的多线程支持

c# - 在单独的线程中延迟编译 .NET 正则表达式

java - 使用 JFileChooser 通过 Java 保存 png 图像

java - 我是否以错误的方式看待多线程? ( java )