导航:首页 > 编程语言 > java定时器

java定时器

发布时间:2022-01-15 14:07:26

java定时器的几种用法

  1. 设定指定任务task在指定时间time执行schele(TimerTasktask,Datetime)

  2. 设定指定任务task在指定延迟delay后进行固定延迟peroid的执行

  3. 设定指定任务task在指定延迟delay后进行固定频率peroid的执行

  4. 安排指定的任务task在指定的时间firstTime开始进行重复的固定速率period执行

❷ java 定时器功能

这么干:
import java.util.Timer;
import java.util.TimerTask;

public class TimerTest {
public static void main(String[] args) {
final TimerTest test = new TimerTest();
Timer timer = new Timer();
timer.schele(new TimerTask() {

@Override
public void run() {
test.method1();
}
}, 0, 60000);

timer.schele(new TimerTask() {

@Override
public void run() {
test.method2();
}
}, 10000, 60000);

timer.schele(new TimerTask() {

@Override
public void run() {
test.method3();
}
}, 30000, 60000);

}

public void method1() {
System.out.println("method1 start!");
long startTime = System.currentTimeMillis();
long nowTime = System.currentTimeMillis();
while (nowTime - startTime < 10000) {
nowTime = System.currentTimeMillis();
}
System.out.println("method1 end!");
}

public void method2() {
System.out.println("method2 start!");
long startTime = System.currentTimeMillis();
long nowTime = System.currentTimeMillis();
while (nowTime - startTime < 20000) {
nowTime = System.currentTimeMillis();
}
System.out.println("method2 end!");
}

public void method3() {
System.out.println("method3 start!");
long startTime = System.currentTimeMillis();
long nowTime = System.currentTimeMillis();
while (nowTime - startTime < 30000) {
nowTime = System.currentTimeMillis();
}
System.out.println("method3 end!");
}
}

❸ java定时器

importjava.io.IOException;
importjava.util.Timer;

publicclassTimerTest{

publicstaticvoidmain(String[]args){
Timertimer=newTimer();
timer.schele(newMyTask(),1000,2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了
try{
intch=System.in.read();
if(ch-'c'==0){
timer.cancel();//使用这个方法退出任务
}
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}

staticclassMyTaskextendsjava.util.TimerTask{
@Override
publicvoidrun(){
//TODOAuto-generatedmethodstub
System.out.println("________");
}
}
}

这段代码基本能满足你需求了 你还有需求就在上面再套一层job 当然如过太复杂了而且这种定时需求很多的话 建议用quartz框架 使用很简单

❹ java定时器怎么停止

1、scheleUpdate
加入当前节点后,程序会每帧都会自动执行一次默认的Update函数。(注:一定是Update函数哦,若想调用其他自己命名的函数则使用schele)
看例子,走起。
首先在HelloWord类的头文件中声明Update函数:
[cpp] view plain print?
void update(float dt); //注意参数类型
然后在HelloWorld类源文件中实现函数Update:

[cpp] view plain print?
void HelloWorld::update(float dt)
{
CCLOG("");
}
现在我们可以调用了,在需要他不断执行的地方加入调用的代码就ok:

[cpp] view plain print?
this->scheleUpdate(); //this是当前节点,如layer,所以可以省略啦。

运行之后你将会看到不断有被打印出来
2、scheleUpdate
可以没隔几秒执行某个自定义的函数,来看代码:
首先还是在HelloWorld中声明所要执行的函数:

❺ java怎样启动定时器

ESET NOD32 我有激活号码你给我100分我就给你可以用6个月

❻ java 定时器

把打印和写文件放在一个TimerTask子类中
然后通过Timer.scheledAtFixTime()启动这个task
具体参数请参考API

但是我不太明白你指的“定时器只有延时86400000毫秒(24小时)才能实现,”是什么意思

❼ java类中的定时器

quartz中用有状态的任务,他会在重复执行任务前判断上一次是否已完成。

❽ java 定时器 timer

很简单的一个程序,两种实现方式,可以弄一个线程在一个while循环里一直跑,一次sleep一分钟,判断当前时间是否是你要的时间,如果是就触发你的任务。
另外一种方法是,直接计划三个任务,到时间它会自己执行:new Timer().schele(task, time);

❾ java定时器用什么实现

java定时器的使用(Timer)
1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。
对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。
private java.util.Timer timer;
timer = new Timer(true);
timer.schele(
new java.util.TimerTask() { public void run()
{ //server.checkNewMail(); 要操作的方法} }, 0, 5*60*1000);
第一个参数是要操作的方法,第二个参数是要设定延迟的时间,第三个参
数是周期的设定,每隔多长时间执行该操作。
使用这几行代码之后,Timer本身会每隔5分钟调用一遍
server.checkNewMail()方法,不需要自己启动线程。Timer本身也是多线程同
步的,多个线程可以共用一个Timer,不需要外部的同步代码。
2、
(1)Timer.schele(TimerTask task,Date time)安排在制定的时间执行指定的
任务。
(2)Timer.schele(TimerTask task,Date firstTime ,long period)安排指定
的任务在指定的时间开始进行重复的固定延迟执行.
(3)Timer.schele(TimerTask task,long delay)安排在指定延迟后执行指定的
任务.
(4)Timer.schele(TimerTask task,long delay,long period)安排指定的任务
从指定的延迟后开始进行重复的固定延迟执行.
(5)Timer.scheleAtFixedRate(TimerTask task,Date firstTime,long period)
安排指定的任务在指定的时间开始进行重复的固定速率执行.
(6)Timer.scheleAtFixedRate(TimerTask task,long delay,long period)安
排指定的任务在指定的延迟后开始进行重复的固定速率执行.
用Java Timer API 进行时间调度开发的相关注意点
java.util这个包中可以找到Timer和TimerTask这两个类。Timer直接从Object
继承,它相当于一个计时器,能够用它来指定某个时间来执行一项任务,或者
每隔一定时间间隔反复执行同一个任务。创建一个Timer后,就会生成一个线程
在背后运行,来控制任务的执行。而TimerTask就是用来实现某项任务的类,
它实现了Runnable接口,因此相当于一个线程。

❿ java中怎么实现定时功能

这个是我在网上找的不知道是不是你要的:

java定时任务Timer 关于定时任务,似乎跟时间操作的联系并不是很大,但是前面既然提到了定时任务,索性在这里一起解决了。设置定时任务很简单,用Timer类就搞定了。一、延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。代码如下:
package test;
import java.util.Timer;
public class TimeTaskTest {
public static void main(String[] args){ Timer timer = new Timer();
timer.schele(new Task(), 60 * 1000);
}
}
解释一下上面的代码。上面的代码实现了这样一个功能,当TimeTask程序启动以后,过一分钟后执行某项任务。很简单吧:先new一个Timer对象,然后调用它的schele方法,这个方法有四个重载的方法,这里我们用其中一个,
public void schele(TimerTask task,long delay)
首先,第一个参数第一个参数就是我们要执行的任务。这是一个TimerTask对象,确切点说是一个实现TimerTask的类的对象,因为TimerTask是个抽象类。上面的代码里 面,Task就是我们自己定义的实现了TimerTask的类,因为是在同一个包里面,所以没有显性的import进来。Task类的代码如下
package test;
import java.util.TimerTask;
public class Task extends TimerTask { public void run()
{
System.out.println("定时任务执行");
}
}
我们的Task必须实现TimerTask的方法run,要执行的任务就在这个run方法里面,这里,我们只让它往控制台打一行字。第二个参数第二个参数是一个long型的值。这是延迟的时间,就是从程序开始以后,再过多少时间来执行定时任务。这个long型的值是毫秒数,所以前面我们的程序里面,过一分钟后执行用的参数值就是 60 * 1000。二、循环执行设置定时任务的时候,往往我们需要重复的执行这样任务,每隔一段时间执行一次,而上面的方法是只执行一次的,这样就用到了schele方法的是另一个重载函数public void schele(TimerTask task,long delay,long period)
前两个参数就不用说什么了,最后一个参数就是间隔的时间,又是个long型的毫秒数(看来java里涉及到时间的,跟这个long是脱不了干系了),比如我们希望上面的任务从第一次执行后,每个一分钟执行一次,第三个参数值赋60 * 1000就ok了。三、指定执行时间既然号称是定时任务,我们肯定希望由我们来指定任务指定的时间,显然上面的方法就不中用了,因为我们不知道程序什么时间开始运行,就没办法确定需要延时多少。没关系,schele四个重载的方法还没用完呢。用下面这个就OK了:
public void schele(TimerTask task,Date time)
比如,我们希望定时任务2006年7月2日0时0分执行,只要给第二个参数传一个时间设置为2006年7月2日0时0分的Date对象就可以了。有一种情况是,可能我们的程序启动的时候,已经是2006年7月3日了,这样的话,程序一启动,定时任务就开始执行了。schele最后一个重载的方法是public void schele(TimerTask task,Date firstTime,long period)
没必要说什么了吧:)四、j2ee中的定时任务在实际的项目中,往往定时任务需要对web工程中的资源进行操作,这样一来,用上面的单个程序的方式可能就有点力不从心了,因为很多web工程的资源它操作不到。解决的办法是,使用Servlet,把执行定时任务的那些代码放到Servlet的init()函数里就可以了,这个easy,就没有必要再写示例代码了吧

阅读全文

与java定时器相关的资料

热点内容
服务器一直崩应该用什么指令 浏览:916
cm202贴片机编程 浏览:723
php构造函数带参数 浏览:174
解压电波歌曲大全 浏览:336
为啥文件夹移到桌面成word了 浏览:858
命令符的安全模式是哪个键 浏览:758
编程中学 浏览:956
单片机求助 浏览:993
ug加工侧面排铣毛坯怎么编程 浏览:271
程序员有关的介绍 浏览:736
支付宝使用的什么服务器 浏览:210
安卓看本地书用什么软件好 浏览:921
经传软件滚动净利润指标源码 浏览:522
萤石云视频已加密怎么解除 浏览:574
一命令四要求五建议 浏览:30
qq文件夹迁移不了 浏览:19
液体粘滞系数测定不确定度算法 浏览:332
轻栈源码 浏览:426
把图片压缩到500k 浏览:35
命令你自己 浏览:369