博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中的定时任务
阅读量:6208 次
发布时间:2019-06-21

本文共 1647 字,大约阅读时间需要 5 分钟。

java中的定时任务 一般有三种实现方式:

1,普通的线程thread

@Test  public void test1() {          // 单位: 毫秒        final long timeInterval = 1000;          Runnable runnable = new Runnable() {              public void run() {                  while (true) {                      // ------- code for task to run                      System.out.println("Hello !!");                      // ------- ends here                      try {                          Thread.sleep(timeInterval);                      } catch (InterruptedException e) {                          e.printStackTrace();                      }                  }              }          };          Thread thread = new Thread(runnable);          thread.start();      }

2,使用timer实现:可控制启动或取消任务,可指定第一次执行的延迟,线程安全, 但只会单线程执行, 如果执行时间过长, 就错过下次任务了, 抛出异常时, timerWork会终止

@Testpublic void test2 () {        TimerTask task = new TimerTask() {            @Override            public void run() {               System.out.println("Hello !!!");            }        };        Timer timer = new Timer();        long delay = 0;        long intevalPeriod = 1 * 1000;        // schedules the task to be run in an interval        timer.scheduleAtFixedRate(task, delay, intevalPeriod);      }

3,使用spring 的spring-task实现   这里我只说我项目中的使用方法,配置文件配置的方式:

在spring配置文件里配置:

而配置好之后  就是java代码的实现

@Scheduled(fixedDelay = 600000) //fixedRate是每隔n毫秒数执行一次任务,fixedDelay是上个任务执行完成后每隔n毫秒数执行一次任务。    public void task5() throws Exception {        List
userList = userInfoService.handleGetUserinfoPlat(); }

我们使用的是 第三种以配置文件的方式实现的定时任务,至于前面两种我是参考别的博客,拷贝的,

 

转载于:https://www.cnblogs.com/wumingxuanji/p/9081502.html

你可能感兴趣的文章
爬虫之数据解析的三种方式
查看>>
hdu5424 Rikka with Graph II
查看>>
关于有多少个1的计算
查看>>
js里的数据类型转换
查看>>
Hbase java api
查看>>
CentOS6.5安装配置
查看>>
SOM 的两种算法
查看>>
实现权重计算
查看>>
[10.5模拟] dis
查看>>
leetcode1042
查看>>
发手气红包算法
查看>>
JAVA基础----java中E,T,?的区别
查看>>
Java多线程并发学习-进阶大纲
查看>>
源码安装LNMP
查看>>
修改JAVA代码,需要重启Tomcat的原因
查看>>
OpenCV笔记(十五)——使用Laplace算子进行图像的边缘检测
查看>>
Mac下关于->您不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。<-的删除...
查看>>
android 面试总结,后续注意学习
查看>>
学习笔记之-------UIScrollView 基本用法 代理使用
查看>>
PHP array_count_values() 函数用于统计数组中所有值出现的次数。
查看>>