ScheduledFuture
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接口的对象。
RunnableScheduledFuture
java.util.concurrent
接口 RunnableScheduledFuture<V>
类型参数:
    V - 此 Future 的 get 方法所返回的结果类型。
所有超级接口:
    Comparable<Delayed>, Delayed, Future<V>, Runnable, RunnableFuture<V>, ScheduledFuture<V>
public interface RunnableScheduledFuture<V>
extends RunnableFuture<V>, ScheduledFuture<V>
RunnableScheduledFuture作为 是实现了Runnable 的 ScheduledFuture。当成功执行RunnableScheduledFuture对象的run 方法后,可以通过该RunnableScheduledFuture对象的Future
接口并允许访问其结果。 
RunnableScheduledFuture做为ScheduledFuture的子类,它集成了RunnableFuture<V>和ScheduledFuture<V>这两个接口。
唯一自定义接口
boolean isPeriodic()
        如果这是一个定期任务,则返回 true。定期任务可以根据计划重新运行。非定期任务只能运行一次。
    返回:
        如果此任务是定期的,则返回 true

ScheduledFuture和RunnableScheduledFuture详解的更多相关文章

  1. ScheduledThreadPoolExecutor详解

    本文主要分为两个部分,第一部分首先会对ScheduledThreadPoolExecutor进行简单的介绍,并且会介绍其主要API的使用方式,然后介绍了其使用时的注意点,第二部分则主要对Schedul ...

  2. 并发系列(7)之 ScheduledThreadPoolExecutor 详解

    文本将主要讲述 ThreadPoolExecutor 一个特殊的子类 ScheduledThreadPoolExecutor,主要用于执行周期性任务:所以在看本文之前最好先了解一下 ThreadPoo ...

  3. 线程池底层原理详解与源码分析(补充部分---ScheduledThreadPoolExecutor类分析)

    [1]前言 本篇幅是对 线程池底层原理详解与源码分析  的补充,默认你已经看完了上一篇对ThreadPoolExecutor类有了足够的了解. [2]ScheduledThreadPoolExecut ...

  4. Java多线程学习之线程池源码详解

    0.使用线程池的必要性 在生产环境中,如果为每个任务分配一个线程,会造成许多问题: 线程生命周期的开销非常高.线程的创建和销毁都要付出代价.比如,线程的创建需要时间,延迟处理请求.如果请求的到达率非常 ...

  5. 跟着阿里p7一起学java高并发 - 第19天:JUC中的Executor框架详解1,全面掌握java并发核心技术

    这是java高并发系列第19篇文章. 本文主要内容 介绍Executor框架相关内容 介绍Executor 介绍ExecutorService 介绍线程池ThreadPoolExecutor及案例 介 ...

  6. DBCP2的使用例子和源码详解(不包括JNDI和JTA支持的使用)

    目录 简介 使用例子 需求 工程环境 主要步骤 创建项目 引入依赖 编写jdbc.prperties 获取连接池和获取连接 编写测试类 配置文件详解 数据库连接参数 连接池数据基本参数 连接检查参数 ...

  7. (转)深入详解Java线程池——Executor框架

    转:https://yq.aliyun.com/articles/633782?utm_content=m_1000015330 在Java中,使用线程来异步执行任务.Java线程的创建与销毁需要一定 ...

  8. 源码详解系列(八) ------ 全面讲解HikariCP的使用和源码

    简介 HikariCP 是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能,另外,和 dr ...

  9. Linq之旅:Linq入门详解(Linq to Objects)

    示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...

随机推荐

  1. try{} catch(…){} 讨论(转)

    以前都是用try{} catch(…){}来捕获C++中一些意想不到的异常, 今天看了Winhack的帖子才知道,这种方法在VC中其实是靠不住的.例如下面的代码: .try .{ .BYTE* pch ...

  2. Java日期格式化方法

    首先获取当前系统时间的方法有两种:第一种可以用currentTimeMillis()方法获取,它其实产生的是一个当前的毫秒数,这个毫秒是自1970年1月1日0时起至现在的毫秒数,类型是long 型,可 ...

  3. Spring execution表达式

    execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) th ...

  4. 提高 webpack 构建 Vue 项目的速度

    前言 最近有人给我的 Vue2 后台管理系统解决方案 提了 issue ,说执行 npm run build 构建项目的时候极其慢,然后就引起我的注意了.在项目中,引入了比较多的第三方库,导致项目大, ...

  5. Windows安装mysql-python提示:error: Microsoft Visual C++ 9.0 is required

    Windows安装mysql-python提示:error: Microsoft Visual C++ 9.0 is required,Get it from http://aka.ms/vcpyth ...

  6. linux环境下安装jdk(本文示例是jdk1.6.0_export JAVA_HOME=/usr/java/jdk1.6.0_45 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar45)

    第一步:创建一个文件夹安装jdk(虽说地址一般自定义,但是为了方便查找请按照笔者建议目录 ):/usr/java 将jdk-6u45-linux-x64.bin文件放到   /usr/java 文件夹 ...

  7. Arrays工具类十大常用方法

    0. 声明数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c" ...

  8. iOS关于JSONKit解析Unicode字符内容出错,问题出在\u0000

    JSONKit虽然很强大,但是一些特殊的Unicode,比如\u0000是无法解析的. 在github上作者解释了这个问题,说这个是内容提供的错误,不符合标准的内容,所以他不认为这个是自己的错误,这个 ...

  9. memcached分布式缓存

    1.memcached分布式简介 memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能.Memcache集群主机不能够相互通信传输数据,它的“分布式”是基于客户端的程序逻辑算 ...

  10. 关于sql、mysql语句的模糊查询分类与详解,包括基本用法和mapper.xml文件里插入写法

    欢迎猿类加qq:2318645572,共同学习进步 实际例子: ssm框架:service业务层->dao层->mappers.xml->junit/test测试 1:service ...