现在讲解Java线程池的博客很多,本文不再细说理论,直接教大家使用,jdk环境1.8
首先直接在想使用多线程池的类中实例以下方法,无需添加任何依赖
private final static ExecutorService executors = new ThreadPoolExecutor(4, 40,
300L, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(50000), Executors.defaultThreadFactory(),
new ThreadPoolExecutor.CallerRunsPolicy());
public void operate(){
executors.execute(() -> {
//业务代码
)};
}
好了就是这么简单,线程池会自动帮我们开启线程和关闭线程,不需要我们关心太多,我们只需要关注自己的业务代码即可,可在业务代码打上log.info 输出,日志打印中会把线程名字也打印出来,方便我们观察当前任务的线程执行情况。线程池要合理使用,如果只是简单的任务则没开线程池的必要,开启线程池需要一定的开销时间,只有处理比较耗时的操作,线程池才能发挥它的最大性能。