你知道java中线程池的作用是什么吗?那么究竟什么是线程池呢?都有哪些类型呢?让我们对以上的问题来进行详细的了解吧。
一、java线程池作用
第一个我们先来对它的作用进行一下简单的介绍,使用线程池的优点可以具体的分成以下三点:
1、重用线程池的线程,可以避免因为线程的创建和销毁锁带来的性能开销
2、可以有效的控制线程池的最大并发数,避免量的线程之间因为抢占系统资源而阻塞
3、可以对线程进行简单的管理,除此之外,还可以提供以下的特定操作,例:
提供定时、定期、单线程、并发数控制等功能
二、什么是线程池
线程池其实就是一种多线程处理形式,处理过程当中,把任务添加队列,之后,在创建线程之后,主动的启动这些任务,每一个线程都使用默认的堆栈大小,以默认的优先级运行,并且,处在多线程单元当中。
假如,某一个线程在托管代码当中空闲,那么,线程池将会插入另一个辅助线程来使得所有处理器保持繁忙。
假如,所有线程池都始终保持繁忙,可是,队列当中,包含挂起的工作,那么,线程池将会在一段时间之后,辅助线程的数目永远不会超过最大值。
超过最大值的线程能够排队,可是,它们要等到其他的线程完成之后,才可以启动。
java里面的线程池的顶级接口是Executor。
这里要注意了,Executor并不是一个线程池,而只是一个执行线程的工具。
真正的线程池是ExecutorService。
三、java当中有哪些线程池
1、newFixedThreadPool
2、newSingleThreadExecutor
3、newCachedThreadPool
4、newScheduledThreadPool
关于java线程池的作用以及线程池的相关内容你都了解了吗?更多java入门知识,请继续来奇Q工具网了解吧。
推荐阅读: