并发编程(五)Java中常用的线程池方法总结

目录

1.1Executors的方法ApI

1.2常用方法说明

1.3创建方法

1.4常用的方法为例


1.1Executors的方法ApI

1.2常用方法说明

①newSingleThreadExecutor

单个线程的线程池,即线程池中每次只有一个线程工作,单线程串行执行任务

②newFixedThreadPool(n)

固定数量的线程池,没提交一个任务就是一个线程,直到达到线程池的最大数量,然后后面进入等待队列直到前面的任务完成才继续执行

③newCachedThreadPool(推荐使用)

可缓存线程池,当线程池大小超过了处理任务所需的线程,那么就会回收部分空闲(一般是60秒无执行)的线程,当有任务来时,又智能的添加新线程来执行。

④ newScheduleThreadPool

大小无限制的线程池,支持定时和周期性的执行线程

比较重要的几个类:

ExecutorService

真正的线程池接口。

ScheduledExecutorService

能和Timer/TimerTask类似,解决那些需要

任务重复执行的问题。

ThreadPoolExecutor

ExecutorService的默认实现。

ScheduledThreadPoolExecutor

继承ThreadPoolExecutor的ScheduledExecutorService

接口实现,周期性任务调度的类实现。


1.3创建方法

ExecutorServicepool = Executors.newSingleThreadExecutor();

1.4常用的方法为例

public static ExecutorService newCachedThreadPool() {
   
return new ThreadPoolExecutor(0, Integer.MAX_VALUE,
                                 
60L, TimeUnit.SECONDS,
                                 
new SynchronousQueue<Runnable>());
}

 

 

不难发现者就是一个工程方法创建了ThreadPoolExecutor()指点unnableTaskQueue为SynchronousQueue

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值