public class Rest implements Runnable { //表示汽车处于静止状态

public void run(){
while(true){
Graphics g = null;
Car.outstock(g); try {
       Thread.sleep(100);               } catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
我想通过线程这个方法实现隔一段时间后实现方法outstock的功能,经过测试没有实现,不知道错在哪里?
不知道用计时器能不能实现这个功能,如果有人会,可以给一下思路,有代码就更好了!!谢谢了

解决方案 »

  1.   

    好像用thread.sleep(时间毫秒);  可以实现。
      

  2.   

    import java.io.IOException;
    import java.util.Timer;public class TimerTest ...{
           
        public static void main(String[] args)...{
            Timer timer = new Timer();
            timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
            while(true)...{//这个是用来停止此任务的,否则就一直循环执行此任务了
                try ...{
                    int ch = System.in.read();
                    if(ch-'c'==0)...{
                        timer.cancel();//使用这个方法退出任务
                        
                    }
                } catch (IOException e) ...{
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
        
        
        static class MyTask extends java.util.TimerTask...{        @Override
            public void run() ...{
                // TODO Auto-generated method stub
                System.out.println("________");
            }
        }
        
        
        
        
    }
      

  3.   

    快使用 定时器 优先使用 java.util.concurrent包提供的类
      

  4.   

    还可以用QUARZE实现。这个比较好。是线程安全的
      

  5.   

    我其实想实现的功能是:汽车在停止一段时间后前进的功能。
     timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
    这句话中  如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
    具体是怎样用的,我不是很清楚,因为我是自学初学者,所以不太会用,希望可以给点详细的。谢谢