java线程池的作用是什么?线程池介绍

KLQ 2020-05-21 14:39:14 java常见问答 5737

你知道java中线程池的作用是什么吗?那么究竟什么是线程池呢?都有哪些类型呢?让我们对以上的问题来进行详细的了解吧。

一、java线程池作用

第一个我们先来对它的作用进行一下简单的介绍,使用线程池的优点可以具体的分成以下三点:

1、重用线程池的线程,可以避免因为线程的创建和销毁锁带来的性能开销

2、可以有效的控制线程池的最大并发数,避免量的线程之间因为抢占系统资源而阻塞

3、可以对线程进行简单的管理,除此之外,还可以提供以下的特定操作,例:

提供定时、定期、单线程、并发数控制等功能

二、什么是线程池

线程池其实就是一种多线程处理形式,处理过程当中,把任务添加队列,之后,在创建线程之后,主动的启动这些任务,每一个线程都使用默认的堆栈大小,以默认的优先级运行,并且,处在多线程单元当中。

假如,某一个线程在托管代码当中空闲,那么,线程池将会插入另一个辅助线程来使得所有处理器保持繁忙。

假如,所有线程池都始终保持繁忙,可是,队列当中,包含挂起的工作,那么,线程池将会在一段时间之后,辅助线程的数目永远不会超过最大值。

超过最大值的线程能够排队,可是,它们要等到其他的线程完成之后,才可以启动。

java里面的线程池的顶级接口是Executor。

这里要注意了,Executor并不是一个线程池,而只是一个执行线程的工具。

真正的线程池是ExecutorService。

三、java当中有哪些线程池

1、newFixedThreadPool

2、newSingleThreadExecutor

3、newCachedThreadPool

4、newScheduledThreadPool

关于java线程池的作用以及线程池的相关内容你都了解了吗?更多java入门知识,请继续来奇Q工具网了解吧。

推荐阅读:

java多线程使用场景有哪些?有何作用?

线程池的拒绝策略是什么?拒绝策略有哪些?

线程池的核心参数有哪些?分别代表什么?