Ⅰ java 中定时器timer是被什么触发的
java中有个定时任务java.util.TimerTask用法很简单class MyTask extends java.util.TimerTask{@Overridepublic void run() {// 这个任何所执行的代码}}java.util.Timer timer = new Timer(true);//treu就是守护线程MyTask task = new MyTask();//开始执行任务,第一个参数是任务,第二个是延迟时间,第三个是每隔多长时间执行一次timer.schele(task, 0 , 1000 * 60 * 60 * 24);
Ⅱ 使用java 的 Timer定时器遇到问题
和数据库的链接已关闭
应该是到了最大等待时间数据库链接自己关闭了
Ⅲ 用java做定时器
//Timer类 import java.util.Timer;
import java.util.TimerTask;
public class Test extends TimerTask {
private Timer timer = null; // 定时器
private static final long PERIOD = 60000; // 任务间隔时间
private int i = 1;
/**
* 构造
*/
public Test() {
timer = new Timer(false);
}
/**
* 启动定时任务
*/
public void start(){
//timer.schele(this, 6000, Test.PERIOD); // 安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
timer.scheleAtFixedRate(this, 3000, Test.PERIOD); // 安排指定的任务在指定的延迟后开始进行重复的固定速率执行。
}
/**
* 结束定时任务
*/
public void stop(){
timer.cancel();
}
/**
* 任务主体
*/
public void run() {
System.out.println(i++);
}
public static void main(String[] args) {
Test test = new Test();
test.start();
}
}
Ⅳ java Timer定时器停止该怎么办
private void closeTimer() {
if (timerTask != null) {
timerTask.cancel();
timerTask = null;
}
if (mTimer != null) {
mTimer.cancel();
mTimer = null;
}
}
/**
* 计时操作 改变界面的倒计时信息
*/
private void timerOperation() {
recLen = RECENT_SECOND;
mTimer = new Timer();
timerTask = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
recLen--;
if (recLen >= 0) {
Message msg = new Message();
msg.what = SECOND_UPDATE;
msg.arg1 = recLen;
handler.sendMessage(msg);
}
}
};
mTimer.schele(timerTask, PROGRESS_DELAY, PROGRESS_PERIOD);
}
Ⅳ java 定时器 timer
很简单的一个程序,两种实现方式,可以弄一个线程在一个while循环里一直跑,一次sleep一分钟,判断当前时间是否是你要的时间,如果是就触发你的任务。
另外一种方法是,直接计划三个任务,到时间它会自己执行:new Timer().schele(task, time);
Ⅵ JAVA timer定时器停不了了
你是不是写了一个模块然后服务器去调用,这样不行的。
除非你把定时器嵌入Contrl层,不然怎么会服务都停了timer还没停呢?
诡异了。。。
Ⅶ 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 Timer 定时器 问题.
Timer中的代码如果出现异常要处理,检查一下代码,很可能是出了异常。因为运行时异常在编译时不检查,所以你可以把你Timer中的代码使用
try
{
}
catch(Throwable e)
{
}
包起来。
Ⅸ Java中Timer定时器是怎么实现的
自己开一条线程
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.currentThread().sleep(1000);
System.out.println("时间增加了!!");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
Ⅹ 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接口,因此相当于一个线程。