A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 欢欢 高级黑马   /  2014-5-9 21:54  /  732 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 欢欢 于 2014-5-9 21:58 编辑

老师说的第二种解决方法:过2秒炸,过4秒再炸,过2秒炸,过4秒再炸,以此循环。。。
定义 task1 和 task2。在task1里面new task2,在task2里面new Task1。他们两个的时间不一样。怎么做?
  1. import java.util.Date;
  2. import java.util.Timer;
  3. import java.util.TimerTask;

  4. public class TraditionalTimerTest {

  5.         //老师说的第二种解决方法:过2秒炸,过4秒再炸,过2秒炸,过4秒再炸,以此循环。。。
  6.         //定义 task1 和 task2。在task1里面new task2,在task2里面new Task1。他们两个的时间不一样。
  7.         public static void main(String[] args)
  8.         {
  9.                 class MyTimerTaskA extends TimerTask {
  10.                         @Override
  11.                         public void run() {
  12.                                 System.out.println("bombing");
  13.                                 //new Timer().schedule(new MyTimerTaskB(), 2000);
  14.                         }
  15.                 }

  16.                 class MyTimerTaskB extends TimerTask {
  17.                         @Override
  18.                         public void run() {
  19.                                 System.out.println("bombing");
  20.                                 new Timer().schedule(new MyTimerTaskA(), 4000);
  21.                         }
  22.                 }

  23.                 new Timer().schedule(new MyTimerTaskA(), 2000);

  24.                 while(true)
  25.                 {
  26.                         try {
  27.                                 Thread.sleep(1000);
  28.                         } catch (InterruptedException e) {
  29.                                 // TODO Auto-generated catch block
  30.                                 e.printStackTrace();
  31.                         }
  32.                         System.out.println(new Date().getSeconds());
  33.                 }
  34.         }
  35. }
复制代码
不会做啊,在 taskA 里不能 new taskB ,  不知道怎么解决,请高手们指教!



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马