ScheduledFuture和RunnableScheduledFuture

java.util.concurrent.ScheduledFuture<V>

类型参数:V - 此Future 返回的结果类型。

所有超级接口: Comparable<Delayed>, Delayed, Future<V>

所有已知子接口:RunnableScheduledFuture<V> 

ScheduledFuture很简单,它就是在Future<V>基础上还集成了Comparable<Delayed>和Delayed的接口。

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

关于ScheduledExecutorService的更多内容请参考《ScheduledThreadPoolExecutor

主要函数

long getDelay(TimeUnit unit)

    返回与此对象相关的剩余延迟时间,以给定的时间单位表示。

    参数:unit - 时间单位 

    返回: 剩余延迟时间;零或负值指示延迟时间已经用尽
       
注意1:JDK中并没提供ScheduledFuture的实现类。只有在ScheduledExecutorService中提交了任务,才能返回一个实现了ScheduledFuture接口的对象。

 

java.util.concurrent.RunnableScheduledFuture<V>

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

类型参数:V - 此 Future 的 get 方法所返回的结果类型。

所有超级接口:Comparable<Delayed>, Delayed, Future<V>, Runnable, RunnableFuture<V>, ScheduledFuture<V>

RunnableScheduledFuture作为是实现了Runnable 的 ScheduledFuture。

当成功执行RunnableScheduledFuture对象的run 方法后,可以通过该RunnableScheduledFuture对象的Future接口并允许访问其结果。 

RunnableScheduledFuture做为ScheduledFuture的子类,它集成了RunnableFuture<V>和ScheduledFuture<V>这两个接口。

 

唯一自定义接口

boolean isPeriodic()

如果这是一个定期任务,则返回 true。定期任务可以根据计划重新运行。非定期任务只能运行一次。

返回:如果此任务是定期的,则返回 true
        

posted @ 2014-10-07 14:53  princessd8251  阅读(361)  评论(0)    收藏  举报