ScheduledFuture和RunnableScheduledFuture详解

 
ScheduledFuture
java.util.concurrent
接口 ScheduledFuture
类型参数:
    V - 此 Future 返回的结果类型。
所有超级接口:
    Comparable, Delayed, Future
所有已知子接口:
    RunnableScheduledFuture 
ScheduledFuture很简单,它就是在Future基础上还集成了ComparableDelayed的接口。
它用于表示ScheduledExecutorService中提交了任务的返回结果。我们通过Delayed的接口getDelay()方法知道该任务还有好久才被执行。
关于ScheduledExecutorService的更多内容请参考《ScheduledThreadPoolExecutor
主要函数
long getDelay(TimeUnit unit)
    返回与此对象相关的剩余延迟时间,以给定的时间单位表示。
    参数:
        unit - 时间单位 
    返回:
        剩余延迟时间;零或负值指示延迟时间已经用尽
注意1:JDK中并没提供ScheduledFuture的实现类。只有在ScheduledExecutorService中提交了任务,
才能返回一个实现了ScheduledFuture接口的对象。
RunnableScheduledFuture
java.util.concurrent
接口 RunnableScheduledFuture
类型参数:
    V - 此 Future 的 get 方法所返回的结果类型。
所有超级接口:
    Comparable, Delayed, Future, Runnable, RunnableFuture, ScheduledFuture
public interface RunnableScheduledFuture
extends RunnableFuture, ScheduledFuture
RunnableScheduledFuture作为 是实现了Runnable 的 ScheduledFuture。当成功执行RunnableScheduledFuture对象的run 方法后,可以通过该RunnableScheduledFuture对象的Future 接口并允许访问其结果。 
RunnableScheduledFuture做为ScheduledFuture的子类,它集成了RunnableFutureScheduledFuture这两个接口。
唯一自定义接口
boolean isPeriodic()
        如果这是一个定期任务,则返回 true。定期任务可以根据计划重新运行。非定期任务只能运行一次。
    返回:
        如果此任务是定期的,则返回 true

你可能感兴趣的:(ScheduledFuture和RunnableScheduledFuture详解)