导航:首页 > 编程语言 > javatimer多个

javatimer多个

发布时间:2024-02-28 05:59:05

java.util.Timer,创建多个任务如何管理

你该把各个TimingTask的实例对象管理起来,而不是用匿名类对象吧
TimingTask tasks[]=new TimingTask[2];
tasks[0]=new TimingTask(){
run(){ 动作1 }
};
tasks[1]=new TimingTask(){
run(){ 动作2 }
};
tasks[0].cancel(); //取消动作一

当然也可以把数组[]改成List,便于动态添加和删除

Ⅱ java 定时器 一天有多个时间点执行同一个程序如何实现

import java.util.*;
class MyTime
{
int hour; int minute;
MyTime(int hour,int minute){
this.hour=hour;
this.minute=minute;
}
}
public class AboutTime
{
public static void main(String args[]){
final MyTime mt=new MyTime(11,24);
//这里,假设程序运行时,是在早上8点半之前的。其他情况,你自行分析
Calendar cal=Calendar.getInstance();
//此方法获得当前地域的时间,注意,getInstance是静态方法
cal.set(cal.HOUR, mt.hour);//设置你所要等待的时刻
cal.set(cal.MINUTE, mt.minute);
Calendar cal2=Calendar.getInstance();//
long time1=cal.get(cal.HOUR_OF_DAY)*3600+cal.get(cal.MINUTE)*60;//将两个时刻都转换成秒数,以便进行相减
long time2=cal2.get(cal2.HOUR_OF_DAY)*3600+cal2.get(cal2.MINUTE)*60+cal2.get(cal2.SECOND);
final long waitTime=time1-time2;//此时获得当前时刻与要等待时刻的时间差,单位是秒
//这里说明一下,现在所指的当前时刻是“Calendar cal2=Calendar.getInstance()”这句执行时所获得的时刻
//获得后,它的各值(秒,分,时)等信息都不会改变。当然,运行几行代码,花不了几毫秒。所以
//虽然之前的cal2的时间信息与运行三行代码以后的时间信息是差不多的
System.out.println(waitTime);//此行用于测试
new Thread(new Runnable(){
public void run(){
try{
for(long l=0;l<waitTime;l++){
Thread.sleep(1000);
System.out.println("###");//一秒打一个,当然,告诉你正在计时
//这里用多线程,因为运行后,可以继续运行主线程。不影响你干其他事儿。
}
}
catch(InterruptedException e){}
System.out.println(mt.hour+":"+mt.minute+"到了");
}
}).start();
//不过,你说一天要三次计算。这很容易,如何实现,由你自己决定。
}
}

Ⅲ java定时器用什么实现

java定时器的使用()
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同时使用两个Timer如何不干扰。。。求高手解决。。。。。

使用Timer的scheleAtFixedRate() 方法就可以保证重复间隔时间的稳定

Ⅳ 怎样用Timer定时器执行多个定时任务

package comz.autoupdatefile;

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

public class M {
public static void main(String[] args) {
内// TODO todo.generated by zoer
Timer timer = new Timer();
timer.schele(new MyTask(), 1000, 2000);
timer.schele(new MyTask1(), 1000, 2000);
}
}

class MyTask extends TimerTask {

@容Override
public void run() {
System.out.println("dddd");

}

class MyTask1 extends TimerTask {

@Override
public void run() {
System.out.println("eeee");

}

}

Ⅵ java timer太多会影响性能吗

大量的运用timer时每一个timer又开起一个或是多个线程,每一个线程又要做自己的事情。必然要会影响性能。

Ⅶ 两个java timer定时器如何相互调用

java.util.Timer类,这个类复是java里的定时器类制.schele()方法重构多次,可以定时重复执行任务.具体使用可以查看手册
给你一个简单的例子..从1000ms开始,每隔1000ms执行一次run方法
package demo;

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

public class TimerTest {

public static void main(String[] args) {
Timer t = new Timer();
t.schele(new TimerTask() {

@Override
public void run() {
//这里写你需要执行的任务,需要什么参数可以传进来..
System.out.println("定时任务....");

}
},1000,1000);

}
}

阅读全文

与javatimer多个相关的资料

热点内容
压缩完了文件去哪里找 浏览:380
武装突袭3浩方联机版本 浏览:674
网络机顶盒移动网络 浏览:391
iphone手机百度云怎么保存到qq 浏览:148
数据库设计与实践读后感 浏览:112
js对象是什么 浏览:744
网页文件存pdf 浏览:567
文件夹正装 浏览:279
刚复制的文件找不到怎么办 浏览:724
试运行适用于哪些体系文件 浏览:987
ghost文件复制很慢 浏览:967
杰德原车导航升级 浏览:240
编程dest是什么意思 浏览:935
linux端口镜像 浏览:820
iphone5屏幕清尘 浏览:157
机顶盒密码怎么改 浏览:672
w7系统下载32位教程 浏览:618
pcb文件包括哪些内容 浏览:598
g00文件 浏览:607
用bat程序删除程序 浏览:516

友情链接