java 有什么方法让指定的任务在每天指定的时间段内反复执行吗?
请教一个问题,谢谢大家了。一个java程序如何实现每天的固定时间段执行。比如每天在8点至9点之间执行,也就是说8点前和9点后都不执行。谢谢...
请教一个问题,谢谢大家了。
一个java程序如何实现每天的固定时间段执行。
比如每天在8点至9点之间执行,也就是说8点前和9点后都不执行。
谢谢 展开
一个java程序如何实现每天的固定时间段执行。
比如每天在8点至9点之间执行,也就是说8点前和9点后都不执行。
谢谢 展开
1个回答
展开全部
package thread;
import java.util.*;
import org.apache.log4j.Logger;
public class Thread_timing extends Thread{
static Logger logger = Logger.getLogger(Thread_timing.class);
// 构造函数为私有类型,只能在函数内部定义
private Thread_timing() {
}
// 用单一模式,只能创建一个对象
private static Thread_timing Thread_timing = new Thread_timing();
// 定义一个静态对象,用来取类的唯一对象,
public static Thread_timing getThread_timing() {
// 获取线程的状态
String state = Thread_timing.getState().toString();
System.out.println("定时线程状态:"+state);
if (state.equals("NEW") || state.equals("TERMINATED")) {
Thread_timing = new Thread_timing();
}
return Thread_timing;
}
UpdateCityUsering ucu = new UpdateCityUsering();
UpdateUserAddressing uua = new UpdateUserAddressing();
XiaFaTiming xft = new XiaFaTiming();
liShiHuiZong ls = new liShiHuiZong();
public void run(){
System.out.println("定时线程已启动");
while(true){
Calendar date = Calendar.getInstance();
int hour = date.get(Calendar.HOUR_OF_DAY);
//当到达8点
while(hour ==8){
//添加业务逻辑
//等待1小时
try {
Thread.sleep(3600);
} catch (InterruptedException e) {
e.printStackTrace();
}
break;
}
try {
Thread.sleep(60000);//每隔一分钟检测一次,看看时间到了没
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String []arg){
Thread_timing thr=new Thread_timing();
thr.start();
}
}
import java.util.*;
import org.apache.log4j.Logger;
public class Thread_timing extends Thread{
static Logger logger = Logger.getLogger(Thread_timing.class);
// 构造函数为私有类型,只能在函数内部定义
private Thread_timing() {
}
// 用单一模式,只能创建一个对象
private static Thread_timing Thread_timing = new Thread_timing();
// 定义一个静态对象,用来取类的唯一对象,
public static Thread_timing getThread_timing() {
// 获取线程的状态
String state = Thread_timing.getState().toString();
System.out.println("定时线程状态:"+state);
if (state.equals("NEW") || state.equals("TERMINATED")) {
Thread_timing = new Thread_timing();
}
return Thread_timing;
}
UpdateCityUsering ucu = new UpdateCityUsering();
UpdateUserAddressing uua = new UpdateUserAddressing();
XiaFaTiming xft = new XiaFaTiming();
liShiHuiZong ls = new liShiHuiZong();
public void run(){
System.out.println("定时线程已启动");
while(true){
Calendar date = Calendar.getInstance();
int hour = date.get(Calendar.HOUR_OF_DAY);
//当到达8点
while(hour ==8){
//添加业务逻辑
//等待1小时
try {
Thread.sleep(3600);
} catch (InterruptedException e) {
e.printStackTrace();
}
break;
}
try {
Thread.sleep(60000);//每隔一分钟检测一次,看看时间到了没
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String []arg){
Thread_timing thr=new Thread_timing();
thr.start();
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询