java 异步线程_Java并发编程十一 异步之线程池ScheduledThreadPoolExecutor

本文介绍了ScheduledThreadPoolExecutor类,它是Java中用于执行周期性任务的线程池。ScheduledThreadPoolExecutor继承自ThreadPoolExecutor,实现了ScheduledExecutorService接口,提供schedule、scheduleAtFixedRate和scheduleWithFixedDelay等方法来执行延迟和周期性任务。文章详细讲解了构造函数、特有方法,包括DelayedWorkQueue和ScheduledFutureTask两个内部类的工作原理,并给出了使用示例。
摘要由CSDN通过智能技术生成

上一节介绍了java线程池ThreadPoolExecutor类,这节介绍周期性线程池ScheduledThreadPoolExecutor类。

1、ScheduledThreadPoolExecutor类图

bce7a24412bcefe82f53fdfd0facd54e.png
图1-1 ScheduledThreadPoolExecutor类图

从类图可以看出ScheduledThreadPoolExecutor类继承了ThreadPoolExector类,就是说ScheduledThreadPoolExecutor拥有execute()和submit()提交异步任务的基础功能,同时实现了一个新接口:ScheduledExecutorService,ScheduledExecutorService接口继承的是ExecutorService接口,下面我们看看ScheduledExecutorService接口里有哪些方法:

b9a2a588d27a4727a25a9d110e9ee10f.png
图1-2 ScheduledExecutorService接口中的方法

其中schedule方法是用来执行线程任务的,接收Runnable类型和Callable类型的任务;scheduleAtFixRate和scheduleWithFixedDelay方法是用来执行周期性任务和周期性延迟任务的,具体在下面会介绍。

2、ScheduledThreadPoolExecutor类详细介绍

2.1 构造函数

源码如下:

public ScheduledThreadPoolExecutor(int corePoolSize) {
    
    super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,
          new DelayedWorkQueue());
};

public ScheduledThreadPoolExecutor(int corePoolSize,
                                   ThreadFactory threadFactory) {
    
    super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,
          new DelayedWorkQueue(), threadFactory);
};
public ScheduledThreadPoolExecutor(int corePoolSize,
                                   RejectedExecutionHandler handler) {
    
    super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,
          new DelayedWorkQueue(), handler);
};

public ScheduledThreadPoolExecutor(int corePoolSize,
                                   ThreadFactory threadFactory,
                                   RejectedExecutionHandler handler) {
    
    s
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值