java定时器

什么是Java定时器?

Java 定时器就是在给定的间隔时间执行自己的任务; Java实现定时器有以下几种:

通过Timer来实现定时任务

Timer 是来自 java.util.Timer

指定时间执行任务

/**

* @author spp

* @date 2020-10-14 09:04

**/

public class TimerTest {

public static void main(String[] args) {

Timer timer = new Timer();

timer.schedule(new TimerTask() {

public void run() {

System.out.println("任务执行:" + System.currentTimeMillis());

}

}, 5000);

System.out.println("任务开始:"+System.currentTimeMillis());

//取消任务

//timer.cancel();

}

}

结果

延后执行,随后以固定时间执行任务

/**

* @author spp

* @date 2020-10-14 09:04

**/

public class TimerTest {

public static void main(String[] args) {

Timer timer = new Timer();

//同scheduleAtFixedRate

timer.schedule(new TimerTask() {

public void run() {

System.out.println("任务执行:" + System.currentTimeMillis());

}

}, 5000,1000); //延迟5秒执行,随后每一秒执行一次

System.out.println("任务开始:"+System.currentTimeMillis());

//取消任务

//timer.cancel();

}

}

结果

任务开始:1602638067502

任务执行:1602638072502

任务执行:1602638073502

任务执行:1602638074503

任务执行:1602638075503

任务执行:1602638076503

任务执行:1602638077503

通过线程池ScheduledExecutorService

指定时间执行任务

public static void main(String[] args) {

//通过线程池ScheduledExecutorService

ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);

scheduledExecutorService.schedule(()->{

System.out.println("任务执行:" + System.currentTimeMillis());

},1000, TimeUnit.MILLISECONDS); //参数说明:第一个执行的任务;第二个推迟的时间;第三个时间单位

System.out.println("任务开始:"+System.currentTimeMillis());

}

结果

任务开始:1602638536832

任务执行:1602638537833

执行固定定时任务

public static void main(String[] args) {

//通过线程池ScheduledExecutorService

ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);

scheduledExecutorService.scheduleWithFixedDelay(()->{

System.out.println("任务执行:" + System.currentTimeMillis());

},2000, 1000,TimeUnit.MILLISECONDS); //参数说明:第一个执行的任务;第二个首次执行推迟的时间;第三个随后执行的推迟时间;第四个时间单位

System.out.println("任务开始:"+System.currentTimeMillis());

}

结果

任务开始:1602638655640

任务执行:1602638657641

任务执行:1602638658643

任务执行:1602638659645

定时器框架

Spring Task

QuartZ

有的时候Java代码定时任务也会让Linux上执行,也就是 Linux Cron

转自:

java 定时器框架_java定时器相关推荐

  1. java定时器停止_java 定时器中任务的启动、停止、再启动

    package com.cvicse.ump.timer.service; import java.util.Date; import java.util.Timer; import com.cvic ...

  2. java定时器实例_Java定时器小实例

    有时候,我们需要在Java中定义一个定时器来轮询操作,比如每隔一段时间查询.删除数据库中的某些数据等,下面记录一下一种简单实现方式 1,首先新建一个类,类中编写方法来实现业务操作 public cla ...

  3. java权限框架_Java高级工程师必备技术栈-由浅入深掌握Shiro权限框架

    权限系统在任何一个系统中都存在,随着分布式系统的大行其道,权限系统也趋向服务化,对于一个高级工程师来说,权限系统的设计是必不可少需要掌握的技术栈 Apache Shiro™是一个功能强大且易于使用的J ...

  4. java 媒体框架_Java 媒体框架 之 JMF

    如果想要使用Java中的Swing播放音乐,视频,包括录音,截取录像等等,就要用到Java的媒体框架JMF. Java媒体框架(JMF)使你能够编写出功能强大的多媒体程序,却不用关心底层复杂的实现细节 ...

  5. java 简单 框架_java简单框架设计

    设计框架包可以作为一个工具给大家用,需要有完全不同设计思路给出来,不同于我们去做一个web服务.网站. 或者一个业务微服务,需要从原来使用视角转换成一个构建者视角. 框架或者工具,更多是框架来管理或者 ...

  6. java 分布式计算框架_java分布式系统框架的分类

    鲁班学院java架构师成长路线 随着电商行业的崛起,越来越多的人为了省事更习惯网购,今天我们就来熟悉Java分布式系统中的Dubbo,Dubbo就是来解决Java分布式系统中间的子系统之间相互调用相互 ...

  7. java wait定时_java定时器的使用(Timer)

    java定时器的使用(Timer) 1.在应用开发中,常常须要一些周期性的操作,比方每5分钟运行某一操作等. 对于这种操作最方便.高效的实现方式就是使用java.util.Timer工具类. priv ...

  8. java 定时器代码_Java定时器代码的编写

    Java定时器代码的编写 在某些时候, 我们需要实现这样的`功能,某一程序隔一段时间执行一次,而这一事情由系统本身来完成,并不是人为的触发,我们一般可称此为定时器任务.其实到Java中,实现起来是非常 ...

  9. java定时器写法_java定时器的写法是什么样?

    定时器的用法是java核心基础之一,很多特殊功能都需要用到定时器,下面一起来看看定时器是如何编写的吧. 示例:一个具备周期性定时(毫秒级);单时刻定时(秒级);多时刻定时(秒级).后两个时间的设置必须 ...

最新文章

  1. 在Lumen中引入钉钉SDK
  2. 【清华集训2017】榕树之心
  3. linux grep sed awk
  4. 把虚拟系统接入网络 虚拟系统工作模式
  5. mongoose 批量修改字段_WordPress图片路径批量替换方法
  6. 什么是可变变量以及如何使用
  7. opencv-api FlannBasedMatcher
  8. 推荐10个优秀GitHub仓库
  9. 如何在没有原工程的情况下,利用vivado将bit文件转化成bin文件
  10. HTML5正确嵌入flash,网页上嵌入Flash播放器(1)
  11. 2022年中国汽车维修设备市场现状研究分析
  12. java短信验证码功能发送的验证码如何校验_java实现发送短信验证码
  13. 人人商城系统安装服务器上,微擎及人人商城安装
  14. Python之读取MongoDB导出的BSON文件
  15. cat6 万兆_干货:CAT5E超五类、CAT6和CAT6A超六类布线系统性能和应用上的区别
  16. 《测量助理》最新版本V3.0.220618发布更新
  17. Java的同步锁和同步方法(synchronized)
  18. estimate和estimation
  19. FCFS进程调度算法
  20. 超参数的调优(lightgbm)

热门文章

  1. java重置radiobutton的选项_求助:这道题显示radiobutton男女的功能和重置功能怎么做...
  2. 前端之同源策略 Jsonp 与 CORS
  3. python之用循环实现五子棋小程序
  4. 【深度学习】Win10安装TensorFlow_gpu(避坑必看)
  5. C和C++混合编程(__cplusplus使用)
  6. java的安装和配置
  7. 数据结构探险——图篇
  8. amd cpu不能在cmd环境下运行java代码_「我们一起学Java02」JDK、JRE、JVM简介,Java开发平台的搭建...
  9. spring boot 实战
  10. 使用eclipse以及Juint进行测试