您的位置:首页 > 编程语言 > Java开发

Java线程(四):Delayed、ScheduledFuture、RunnableScheduledFuture

2017-11-06 11:16 561 查看

Delayed

public interface Delayed extends Comparable

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

此接口的实现必须定义一个 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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐