Executor框架学习

        Executor:接口,只定义了一个接收Runnable对象的方法executor。

 

void execute(Runnable command);

ExecutorService:是Executor的扩展接口,增加了生命周期管理的方法,一个异步Task执行状况返回Future的方法,以及多个Task集合的方法。

 

void shutdown();
List<Runnable> shutdownNow();
boolean isShutdown();
boolean isTerminated();
boolean awaitTermination(long timeout, TimeUnit unit);
<T> Future<T> submit(Callable<T> task);
<T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks)

ExecutorService有两个实现,一个是接口一个是抽象类

AbstractExecutorService:ExecutorService抽象了一层的抽象类,设置了执行方法的默认的基本实现

ThreadPoolExecutor:线程池,可以通过调用Executors以下静态工厂方法来创建线程池并返回一个ExecutorService对象。

 

public ThreadPoolExecutor(int corePoolSize,// 初始线程数
                              int maximumPoolSize,// 最大线程数
                              long keepAliveTime,// 空闲时间超过keepAliveTime时将被终止
                              TimeUnit unit, // keepAliveTime的时间单位
                              BlockingQueue<Runnable> workQueue,// 超过最大线程数的线程放入阻塞队列
                              ThreadFactory threadFactory,// ThreadFactory创建新线程,默认使用defaultThreadFactory创建线程
                              RejectedExecutionHandler handler) //定义处理被拒绝任务的策略

 

ScheduledExecutorService:ExecutorService的子接口,主要是实现调度实现方法的定义

public ScheduledFuture<?> schedule(Runnable command, long delay, TimeUnit unit);
public <V> ScheduledFuture<V> schedule(Callable<V> callable, long delay, TimeUnit unit);
public ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit);
public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit);

 

 

ScheduledThreadPoolExecutor:ScheduledExecutorService的实现,一个可定时调度任务的线程池

class ScheduledThreadPoolExecutor extends ThreadPoolExecutor implements ScheduledExecutorService
 public ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory, RejectedExecutionHandler handler) {
        // 此处调用super的 也就是ThreadPoolExecutor的构造方法,即该线程池也是基于ThreadPoolExecutor的实现
        super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS, new DelayedWorkQueue(), threadFactory, handler); 

 


 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值