黑马程序员技术交流社区

标题: java 定时器Timer [打印本页]

作者: 想进黑马培训    时间: 2013-8-13 09:28
标题: java 定时器Timer
java 定时器Timer 遇到一个问题,代码中timer每隔一秒执行一次任务,程序执行一天后,Timer定时器就不会执行了。这个是什么原因。重启程序之后,一切就恢复正常了。
作者: 赵国刚    时间: 2013-8-13 14:28
为每个TimerTask创建不同的Timer对象,想停止某个Timer直接调用其cancel()方法 ,写个小例子import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class Test{ public static void main(String args[]) throws InterruptedException {  TimerTask task1=new TimerTask(){   public void run() {    // TODO Auto-generated method stub    System.out.println("task1");   }  };  TimerTask task2=new TimerTask(){   public void run() {    // TODO Auto-generated method stub    System.out.println("task2");   }   };  Timer t1=new Timer();  Timer t2=new Timer();  t1.schedule(task1, new Date(), 1000);//每隔一秒输出  t2.schedule(task2, new Date(), 1000);//每隔一秒输出  Thread.sleep(5000);//等待5秒  t1.cancel();//停止定时器t1  Thread.sleep(5000);//等待5秒  t2.cancel();//停止定时器t2 }}
作者: 赵国刚    时间: 2013-8-13 14:29
<import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class Test{ public static void main(String args[]) throws InterruptedException {  TimerTask task1=new TimerTask(){   public void run() {    // TODO Auto-generated method stub    System.out.println("task1");   }  };  TimerTask task2=new TimerTask(){   public void run() {    // TODO Auto-generated method stub    System.out.println("task2");   }   };  Timer t1=new Timer();  Timer t2=new Timer();  t1.schedule(task1, new Date(), 1000);//每隔一秒输出  t2.schedule(task2, new Date(), 1000);//每隔一秒输出  Thread.sleep(5000);//等待5秒  t1.cancel();//停止定时器t1  Thread.sleep(5000);//等待5秒  t2.cancel();//停止定时器t2 }}
>
作者: 赵国刚    时间: 2013-8-13 14:29
  1. 为每个TimerTask创建不同的Timer对象,想停止某个Timer直接调用其cancel()方法 ,写个小例子import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class Test{ public static void main(String args[]) throws InterruptedException {  TimerTask task1=new TimerTask(){   public void run() {    // TODO Auto-generated method stub    System.out.println("task1");   }  };  TimerTask task2=new TimerTask(){   public void run() {    // TODO Auto-generated method stub    System.out.println("task2");   }   };  Timer t1=new Timer();  Timer t2=new Timer();  t1.schedule(task1, new Date(), 1000);//每隔一秒输出  t2.schedule(task2, new Date(), 1000);//每隔一秒输出  Thread.sleep(5000);//等待5秒  t1.cancel();//停止定时器t1  Thread.sleep(5000);//等待5秒  t2.cancel();//停止定时器t2 }}
复制代码

作者: 赵国刚    时间: 2013-8-13 14:29
怎么代码是乱序的无语,算了自己调下吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2