本帖最后由 欢欢 于 2014-5-9 21:58 编辑
老师说的第二种解决方法:过2秒炸,过4秒再炸,过2秒炸,过4秒再炸,以此循环。。。
定义 task1 和 task2。在task1里面new task2,在task2里面new Task1。他们两个的时间不一样。怎么做?
- import java.util.Date;
- import java.util.Timer;
- import java.util.TimerTask;
- public class TraditionalTimerTest {
- //老师说的第二种解决方法:过2秒炸,过4秒再炸,过2秒炸,过4秒再炸,以此循环。。。
- //定义 task1 和 task2。在task1里面new task2,在task2里面new Task1。他们两个的时间不一样。
- public static void main(String[] args)
- {
- class MyTimerTaskA extends TimerTask {
- @Override
- public void run() {
- System.out.println("bombing");
- //new Timer().schedule(new MyTimerTaskB(), 2000);
- }
- }
- class MyTimerTaskB extends TimerTask {
- @Override
- public void run() {
- System.out.println("bombing");
- new Timer().schedule(new MyTimerTaskA(), 4000);
- }
- }
- new Timer().schedule(new MyTimerTaskA(), 2000);
- while(true)
- {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- System.out.println(new Date().getSeconds());
- }
- }
- }
复制代码 不会做啊,在 taskA 里不能 new taskB , 不知道怎么解决,请高手们指教!
|
|