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(); }
相关文章推荐
- 深入理解Java并发机制(5)--线程、中断、Runnable、Callable、Future
- 深入理解Java并发机制(5)--线程、中断、Runnable、Callable、Future
- ScheduledFuture和RunnableScheduledFuture
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没
- java 多线程(一)---创建线程的三种方式Thread,Runnable,Callable与Future
- Java并发编程之线程创建和启动(Thread、Runnable、Callable和Future)
- 深入理解Java并发机制(5)--线程、中断、Runnable、Callable、Future
- 深入理解Java并发机制(5)--线程、中断、Runnable、Callable、Future
- 深入理解Java并发机制(5)--线程、中断、Runnable、Callable、Future
- 深入理解Java并发机制(5)--线程、中断、Runnable、Callable、Future
- Java线程(七):Callable和Future
- Java中的Runnable、Callable、Future、FutureTask的区别和CompletionService的使用场景
- java线程:关于Callable和Future的简单使用:有返回值的线程
- java多线程系列_使用Runnable接口创建线程(3)
- java线程(上)Thread和Runnable的区别
- java 线程 接口 Callable 和Runnable
- Java中利用Future和callable接口监测异步线程的理解
- Java中的Runnable、Callable、Future、FutureTask的区别与示例
- Java程序员必须掌握的线程知识-Callable和Future
- java多线程Runnable、Callable、Executor、Future、FutureTask关系解读