java怎么指定某段代码在固定时间点前执行

作者&投稿:訾媛 (若有异议请与网页底部的电邮联系)
Java 怎么在指定的时间内执行某一任务~

可以通过死循环的方式来进行实现:第一步就是获取到当前的时间,之后和需要执行的时间进行比较,找出时间差,先让线程停止,之后到时见开始执行死循环,执行完成之后再设置线程等待时间,之后重复执行即可,代码举例如下:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String str = sdf.format(date);
//此处实现更改为其余的时间
Thread.sleep(睡觉的时间);
for(;;){
//执行某一个方法

//此处实现更改为其余的时间
Thread.sleep(睡觉的时间);
}
备注:上面的部分代码已经有说明,直接根据说明实现即可。这个只是一种简单的实现思路,通常复杂的都需要quazter来实现。

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();
}
}

package thread.timer;

import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;

public class TimerTest {

    public static void main(String[] args) {
        Timer t = new Timer();
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                System.out.println("Task is processing.");// 此处可以插入自己想运行的代码片段
            }
        };
        Calendar c = Calendar.getInstance();
        c.set(Calendar.MINUTE, 26);// 时间可以自己设置
        t.schedule(task, c.getTime());
    }
}


使用Timer类,
Timer timer = new Timer();
timer.schedule(需要执行的代码类, 多久之后执行, 每隔多久执行);

这个在java内部代码里面应该是无法实现的,至少我没有实现过
要用windows的定时任务这个东西,你自己要先把那个java文件编译成可执行的文件,然后写一个bat文件,该bat文件的内容就是要求在某个时间段执行你编译出来的可执行文件。最后在windows里面设置一个定时任务。
我们前几天上传医疗数据的时候就是这么弄得。

import java.util.TimerTask;

public class MyTimerTask extends TimerTask {

@Override
public void run() {
System.out.println("要运行的程序……");
}

}

然后我们是java.util.Timer类来执行这个方法,测试类:
import java.util.Timer;
public class Test {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new MyTimerTask(), 1000);//此处启动要运行的程序。

}
}

1  启动线程控制监听或者Timer类

2  采用spring的定时任务



为什么AVA玩不成?老是 与服务器连接失败
你账号没有激活,请留意官方内测发号活动,必须要把账号激活和绑定游戏大区后才可以进游戏的

AVA生存模式怎么通关,有什么技巧?求大神帮助
别以为它能砸人..看看墙上的图案就知道是怎么回事了 结果3:一把50发的机枪,后坐大,子弹少,换弹慢。被杀是迟早的事。 接下来就到了4个区域,一般选择的顺序是2.1.3.4。因为在开启4个爆炸装置后,可以最快逃离2号区域。 关于开启爆炸装置,稍微有点小配合就行了。一个人修,两个人掩护。...

AVA下载器下载一段时间后就自动停止
下载器不行的,太垃圾,还是推荐用QQ旋风下

玩AVA出现这个是什么原因照成的?
如果您的操作系统使用了一段时间,突然有一天,这个问题,然后我对不起,病毒造成的,开机按F8,选择最后一次正确的配置,恢复不到正常模式,然后请重新将它。,0X000000ED 故障和硬件系统概率比较大,硬盘真坏的概率很小。我没有得到任何小于20码的蓝色屏幕机,其中只有一个是硬盘是真的坏扇区。推出剩下...

AVA中级阶段推荐的主武器
侦察兵 推荐UZI 射速最快,短点射准确度高,此外拥有侦察兵主武器里重量最轻射速最快的优势 步枪兵 AK47 AN94 M16 AK,不解释了王者枪 AN94 点射神器,中远距离有AK所没有的高伤害输出,只是稳定性低,准星恢复速度过慢 M16 全能枪,除了威力较低之外没有不足,二连发点射爆头很随,扫射弹道出奇...

ava什么时候公测?
您的每一票都是对腾讯游戏最大的支持。(温馨提示:封测激活码将分两批发放,首批激活码将在25日进行公布,第二批将在1月3日前发放)《穿越火线》投票地址:http:\/\/games.qq.com\/wyfyb\/2008\/cszq\/cf.htm 《A.V.A》投票地址:http:\/\/games.qq.com\/wyfyb\/2008\/cszq\/AVA.htm ...

ava公测了么
没有 在AVA正处于内测阶段。现阶段的内测码已全部发送完毕。现在AVA只对有内测资格的玩家开放。没有内测的玩家不可以进游戏。但是也不用着急。因为AVA将在8月~9月就会公测。具体时间还有异议。到时AVA讲对所有QQ用户开放。敬请期待。谢谢采纳。现在没有了 全部停止抢号了,唯一的方法就是找网吧的推广员...

ava公测时间
AVA公测还一点动静都没有~~ 过几天26号那是号称终极测试 之后应该还有内测什么的 估计怎么也得折腾到6 7月份能彻底公测吧 CF那破玩意 G实在太多了 让人受不了 不过估计TX这么运营下去 AVA到WG泛滥也快的很

ava的大方向是什么
ava的大方向就是j2eej2ee不仅仅是socket编程,具体包括13中核心技术J2EE的核心API与组J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对J2EE中的13种技术规范进行简单的描述(限于篇幅,这里只能进行简单的描述):方法\/步骤 1.JDBC(Java...

穿越火线CF和战地之王AVA的军衔制是按照什么国家的?
1、军衔制度基本取自韩国军衔,其中4条杠杠的上等兵就是韩国军队特有,但是其中也有实际韩国军队中有,但游戏中没有的,如元士(相当于军士长之类的军衔,高于上士),准尉。另外CF中的“笑脸”和AVA中的“鸭子”可是现实中没有的。2、图片基本也是取自韩国军衔。可以与图片做比较 3、AVA与CF的军衔...

德江县13810629205: java怎么指定某段代码在固定时间点前执行 -
涂欢谓你: package thread.timer;import java.util.Calendar; import java.util.Timer; import java.util.TimerTask;public class TimerTest { public static void main(String[] args) {Timer t = new Timer();TimerTask task = new TimerTask() {@Overridepublic void ...

德江县13810629205: java怎么指定某段代码在固定时间点前执行
涂欢谓你: import java.util.TimerTask; public class MyTimerTask extends TimerTask { @Override public void run() { System.out.println("要运行的程序……"); } } 然后我们是java.util.Timer类来执行这个方法,测试类: import java.util.Timer; public class ...

德江县13810629205: 怎么用Java实现定时执行某程序 -
涂欢谓你: java中设置定时任务用Timer类可以实现. 一、延时执行 首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行.代码如下: package test; import java.util.Timer; public class TimeTask { public...

德江县13810629205: 如何控制java程序 在指定时间执行 一项操作
涂欢谓你: //java.util.Timer import java.util.Timer; import java.util.TimerTask; public class A{ public static void main(String[] args){ Timer timer=new Timer(false); System.out.println("每隔两秒执行一次"); timer.schedule(new TimerTask() { public void run() { System.out.println(Math.random()*10000); } }, 0, 2000); } }

德江县13810629205: Java 如何实现这样的定时任务 -
涂欢谓你: JDK中,定时器任务的执行需要两个基本的类: java.util.Timer; java.util.TimerTask;要运行一个定时任务,最基本的步骤如下: 1、建立一个要执行的任务TimerTask. 2、创建一个Timer实例,通过Timer提供的schedule()方法,将 TimerTask...

德江县13810629205: java 怎么写定时任务 -
涂欢谓你: 如果要执行一些简单的定时器任务,无须做复杂的控制,也无须保存状态,那么可以考虑使用JDK 入门级的定期器Timer来执行重复任务.一、原理 JDK中,定时器任务的执行需要两个基本的类:java.util.Timer; java.util.TimerTask; 要运行一个...

德江县13810629205: JAVA中如何实现定时(是在某个特定的时间,如每天的14:00)运行某断代码? -
涂欢谓你: 这个可以稍微转换一下思路,只要获取一下目标时间,再减去当前时间,获取间隔T 然后再调用 Timer中的schedule 隔T时间运行,一切搞定.

德江县13810629205: java定时任务怎么实现 -
涂欢谓你: /*** 普通thread* 这是最常见的,创建一个thread,然后让它在while循环里一直运行着,* 通过sleep方法来达到定时任务的效果.这样可以快速简单的实现,代码如下:* @author GT**/ public class Task1 { public static void main(String[] args) {// run...

德江县13810629205: java 如何设定时间执行程序 -
涂欢谓你: 用Timer可以实现~~Timer的schedule方法可以指定第一次运行的时刻,和重复间隔具体可以参考API timer.schedule(task, firstTime, period)指定firstTime为21:00:00,period为一天的毫秒数24*...

德江县13810629205: java 有什么方法让指定的任务在每天指定的时间段内反复执行吗? -
涂欢谓你: 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(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网