简介

线程池执行者在ThreadPoolExecutor的基础上给我们提供了延时(delay)执行和周期执行的功能。性能会优于Timer包。

继承结构

参考:

ThreadPoolExecutor

Executor

ExecutorService

ScheduledExecutorService

AbstractExecutorService

DEMO

package calvin;

import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger; public class TestScheduledThreadPoolExecutor {
public static ScheduledThreadPoolExecutor executor = null; public static void main(String[] args){
System.out.println("test ScheduledThreadPoolExecutor");
executor = new ScheduledThreadPoolExecutor(5);
myTask task = new myTask();
// 2秒后执行,执行后就停止
executor.schedule(task, 2l, TimeUnit.SECONDS);
// 5秒后执行,执行完后每10秒再执行不会自动停止
executor.scheduleWithFixedDelay(task, 5l, 10, TimeUnit.SECONDS); } public static class myTask implements Runnable{
public AtomicInteger index = new AtomicInteger();
@Override
public void run(){
System.out.println(System.currentTimeMillis() + "start working thread = "+Thread.currentThread().getName() + " index =" + index.incrementAndGet());
} }
}

小结

  1. 对于Executor对象来说他的task执行顺序是根据FIFO原则来运行的
  2. 给我们提供了定时执行任务的功能

【Concurrency-ScheduledExecutorService】的更多相关文章

  1. 7.DataAnnotations(数据注解)【Code-First 系列】

    EF Code-First提供了一系列的数据注解的特性,你可以将其应用到你的领域类和属性中,数据注解属性重写了EF默认的约定. System.ComponentModel.DataAnnotation ...

  2. 8.Fluent API in Code-First【Code-First系列】

    在前面的章节中,我们已经看到了各种不同的数据注解特性.现在我们来学习一下Fluent API. Fluent API是另外一种配置领域类的方式,它提供了更多的配置相比数据注解特性. Mappings[ ...

  3. Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin【Finchley 版】

    Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin[Finchley 版]  发表于 2018-04-24 |  随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请 ...

  4. 【刷题】Git工作流-相关知识点

    参考资料:[学习总结]Git学习-GIT工作流-千峰教育(来自B站) 1-Git工作流 GitFlow流五大分支: 主干分支 热修复分支 预发布分支 开发分支 功能分支 GitFlow 工作流定义了一 ...

  5. 【硅谷问道】Chris Lattner 访谈录(下)

    [硅谷问道]Chris Lattner 访谈录(下) Chris Lattner 访谈录(下) 话题 Swift 在 Server 和操作系统方面有着怎样的雄心抱负? Swift 与 Objectiv ...

  6. 【Hibernate实战】源码解析Hibernate参数绑定及PreparedStatement防SQL注入原理

        本文采用mysql驱动是5.1.38版本. 本篇文章涉及内容比较多,单就Hibernate来讲就很大,再加上数据库驱动和数据库相关,非一篇文章或一篇专题就能说得完.本文从使用入手在[Spr ...

  7. 【MySQL笔记】SQL语言四大类语言

     SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL.   1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句, ...

  8. 【并发编程】Future模式添加Callback及Promise 模式

    Future Future是Java5增加的类,它用来描述一个异步计算的结果.你可以使用 isDone 方法检查计算是否完成,或者使用 get 方法阻塞住调用线程,直到计算完成返回结果.你也可以使用  ...

  9. 【等待事件】等待事件系列(5.1)--Enqueue(队列等待)

    [等待事件]等待事件系列(5.1)--Enqueue(队列等待)   1  BLOG文档结构图   2  前言部分   2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...

  10. 【AR实验室】mulberryAR : ORBSLAM2+VVSION

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...

随机推荐

  1. 关于a标签的用法总结

    onclick的事件被先执行 ,其次是href中定义的(页面跳转或者javascript) 同时存在两个定义的时候(onclick与href都定义了),如果想阻止href的动作,在onclick必须加 ...

  2. sql数据表中的值重新命名

    select u.id,u.name,u.sex, 2 (case u.sex 3 when 1 then '男' 4 when 2 then '女' 5 else '空的' 6 end 7 )性别 ...

  3. [luogu P3065] [USACO12DEC]第一!First!

    [luogu P3065] [USACO12DEC]第一!First! 题目描述 Bessie has been playing with strings again. She found that ...

  4. swarm 使用整理

    swarm 是 docker 公司弄的 docker 集群管理工具.  整理使用实践如下. 1. 准备 3 台实例机   ip 地址分别是 192.168.0.131    ~   1332. 在三台 ...

  5. 【调试基础】Part 2 文本字符

    01 字节存储顺序 大端:低字节存在高地址,高字节存在低地址.eg:IBM: 小端:低字节存在低地址,高字节存在高地址.eg:INTEL: 02 字符集 ASCII:128=26小写 + 26大写 + ...

  6. 在学习JavaScript中用到的示例

    jQuery老师博客 一.定时器示例 功能:让input的文本框,显示时间,并实时更新 逻辑思路: 1.先定义一个函数,用来把当前时间赋值给input.value 2.开始button设置点击事件,并 ...

  7. 跟随我在oracle学习php(19)

    Order by子句 形式: order  by  排序字段1  [排序方式],  排序字段2  [排序方式], ..... 说明: 对前面取得的数据(含from子句,where子句,group子句, ...

  8. hdu1256

    画横线总是一个字符粗,竖线随着总高度每增长6而增加1个字符宽.当总高度从5增加到6时,其竖线宽度从1增长到2.下圈高度不小于上圈高度,但应尽量接近上圈高度,且下圈的内径呈正方形.每画一个"8 ...

  9. ffmpeg的使用说明

    ffmpeg的使用说明 借鉴博客:https://www.cnblogs.com/DragonFire/p/9208195.html 一.FFmpeg链接: 链接:https://pan.baidu. ...

  10. EVE-NG简单入门介绍

    此篇文章简单的介绍下模拟器EVE-NG的使用,具体包括Dynamips设备导入与运行,IOL设备的导入与运行,QEMU设备的导入与运行,客户端软件的安装,物理网络与虚拟网络的结合等. 一.导入镜像 D ...