多线程中的线程池

时间:2018-02-21 17:53:23

标签: java multithreading threadpool

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

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

  • 使用ThreadPool声明cab优先级。

1 个答案:

答案 0 :(得分:3)

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

如果是线程池,则会创建一组固定大小的线程。来自线程池的线程被拉出并由服务提供商分配作业。完成作业后,线程再次包含在线程池中。

要理解这一点,考虑一个Web服务器应用程序,其中每个HTTP请求都由一个单独的线程处理。如果应用程序只是为每个新的HTTP请求创建一个新线程,并且系统接收的请求数超过它可以立即处理的数量,那么当所有这些线程的开销超过系统容量时,应用程序将突然停止响应所有请求。由于可以创建的线程数量有限制,应用程序不会像它们进入时那样快速地为HTTP请求提供服务,但它将在系统可以维持的时间内为它们提供服务。

  

java.util.concurrent中的大多数执行器实现都在使用   线程池,由工作线程组成。这种线程   与它执行的Runnable和Callable任务分开存在   通常用于执行多个任务。

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

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