Java多线程:Delayed、ScheduledFuture、RunnableScheduledFuture源码解读

培训教学 潘老师 5个月前 (11-11) 108 ℃ (0) 扫码查看

本文主要讲解Java多线程:Delayed、ScheduledFuture、RunnableScheduledFuture源码,我们一起来看下。

Delayed

public interface Delayed extends Comparable

1、 一种混合风格的接口,用来标记那些应该在给定延迟时间之后执行的对象;

2、 此接口的实现必须定义一个compareTo方法,该方法提供与此接口的getDelay方法一致的排序;

通俗地解释即该接口的实现具有延迟特性。

public interface Delayed extends Comparable<Delayed> {

    /**
     * 返回与此对象相关的剩余延迟时间,以给定的时间单位表示。  
     */
    long getDelay(TimeUnit unit);
}

ScheduledFuture

public interface ScheduledFuture extends Delayed, Future

一个延迟的、结果可接受的操作,可将其取消通常已安排的future是用ScheduledExecutorService安排任务的结果;

ScheduledFuture只是在Future基础上还集成了Comparable和Delayed的接口。使其具有延迟、排序、获得异步计算结果的特性。

它用于表示ScheduledExecutorService中提交了任务的返回结果。我们通过Delayed的接口getDelay()方法知道该任务还有多久才会被执行。

JDK中并没提供ScheduledFuture的实现类。只有在ScheduledExecutorService中提交了任务,才能返回一个实现了ScheduledFuture接口的对象。

RunnableScheduledFuture

public interface RunnableScheduledFuture extends RunnableFuture, ScheduledFuture

作为Runnable的ScheduledFuture成功执行run方法可以完成Future并允许访问其结果;

RunnableScheduledFuture可被看作是实现了Runnable 的 ScheduledFuture。

public interface RunnableScheduledFuture<V> extends RunnableFuture<V>, ScheduledFuture<V> {

    /**
     *  如果这是一个定期任务,则返回 true。
     */
    boolean isPeriodic();
}

以上就是Java多线程:Delayed、ScheduledFuture、RunnableScheduledFuture源码解读的全部内容。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/teach/11007.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】