java中的定时任务实现的几种方式
来源:互联网 发布:php 工作日志管理系统 编辑:程序博客网 时间:2024/05/22 17:01
quartz任务调度框架的使用TaskDemo.javapackage org.kevin.javase.timer;import java.util.TimerTask;public class TaskDemo extends TimerTask{public void run() {System.out.println("timer定时任务执行了");}}
package org.kevin.javase.timer;/** * @author kevin * * 线程等待:使用线程实现定时任务,每秒执行一次定时任务 */public class TimerTaskWithThread {private static final long timeInterval = 1000;public static void main(String[] args) {Thread thread = new Thread(timeTask());thread.start();}private static Runnable timeTask() {return new Runnable() {public void run() {while (true) {// time taskSystem.out.println("任务执行了");// timeIntervaltry {Thread.sleep(timeInterval);} catch (InterruptedException e) {e.printStackTrace();}}}};}}package org.kevin.javase.timer;import java.util.Calendar;import java.util.Date;import java.util.Timer;/** * @author kevin 使用timer实现定时任务,每天凌晨三点执行 */public class TimerTask02WithTimer {// 执行频率(每天),毫秒数private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;// private static final long PERIOD_DAY = 60 * 1000;public static void main(String[] args) {// 设置定时执行任务时间,每天的凌晨三点Calendar calendar = Calendar.getInstance();calendar.set(Calendar.HOUR_OF_DAY, 3);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);Date date = calendar.getTime();if (date.before(new Date())) {date = addDay(date, 1);}Timer timer = new Timer();TaskDemo timerDemo = new TaskDemo();timer.schedule(timerDemo, date, PERIOD_DAY);}/** * 加一天 * * @param date * @param num * @return */public static Date addDay(Date date, int num) {Calendar startDate = Calendar.getInstance();startDate.setTime(date);startDate.add(Calendar.DAY_OF_MONTH, 1);return startDate.getTime();}}package org.kevin.javase.timer;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;/** * @author kevin * 使用Executors实现定时任务(最理想) * 优点:可以使用线程池进行任务调度,相比于Thread可以设置初始时延 */public class TimerTaskWithExecutors {public static void main(String[] args) {Runnable runable = new Runnable() {public void run() {System.out.println("Executors执行定时任务");}};ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();service.scheduleWithFixedDelay(runable, 3, 1, TimeUnit.SECONDS);}}
Quartz实现。。。。
阅读全文
0 0
- java中的定时任务实现的几种方式
- java实现定时任务几种方式
- 【Java】定时任务的几种实现方式
- java定时任务实现的几种方式
- java定时任务实现的几种方式
- java 定时任务的几种实现方式
- java定时任务实现的几种方式
- Java 定时任务的几种实现方式
- java定时任务实现的几种方式
- 实现定时任务的几种方式
- 定时任务的几种实现方式
- JAVA定时任务的几种实现
- android 定时任务的几种实现方式
- android定时任务的几种实现方式
- android 定时任务的几种实现方式
- spring定时任务的几种实现方式
- android 实现定时任务的几种方式
- Spring定时任务的几种实现方式
- 精彩博客收集
- powerdesigner通过ODBC连接MySQL实现逆向工程
- 流体模拟边界问题
- 《图解HTTP》读书笔记(10)第10章构建Web内容的技术(关键词:HTTP/)
- SQLSERVER 从大到小递减算法
- java中的定时任务实现的几种方式
- 基于dubbo从传统MVC架构转向SOA架构分布式设计2--(mvc->soa)
- Kaggle入门实例-预测房价
- android 计时与倒计时
- css 如何让背景图片拉伸填充避免重复显示 不是平铺
- 基于c++浅谈容器(vector和list)
- 5基于opencv的非线性滤波(中值滤波_双边滤波)
- Sigreturn Oriented Programming (SROP) Attack攻击原理
- Elasticsearch(五)elasticsearch高亮搜索