wuruize888 2017-09-03 03:58 采纳率: 66.7%
浏览 955
已采纳

java,延迟执行的问题,谢谢解答。

想做一个延迟执行一个类方法,该怎么写?
比如延迟5秒后执行a.start()方法,谢谢各位解答,最好给多种解决方法

  • 写回答

5条回答 默认 最新

  • 鼠晓 博客专家认证 2017-09-03 04:15
    关注

    【1】感觉Thread.sleep(5000);很合适,,,
    【2】使用 Java API 提供的Timer类(参考:http://blog.csdn.net/wdh314228223/article/details/42146125

     final Timer timer=new Timer(); TimerTask task=new TimerTask(){
            public void run(){
                System.out.println("计时任务");
               //timer.cancel();         终止此计时器,丢弃所有当前已安排的任务。这不会干扰当前正在执行的任务(如果存在)。一旦终止了计时器,那么它的执行线程也会终止,并且无法根据它安排更多的任务。注意,在此计时器调用的计时器任务的 run 方法内调用此方法,就可以绝对确保正在执行的任务是此计时器所执行的最后一个任务。 
               }
           };
    
           timer.schedule(task,5000, 2000);   //这个命令就是5秒钟之后执行TimerTask里边的内容,后边的执行时间间隔为2秒钟。
        }
    

    【3】object.wait(5000);,,,他需要和锁配合使用,,下面瞎写了一个例子,,仅供参考

      public static void main(String[] args) {
            Object object = new Object();
            synchronized (object) {
                try {
                    object.wait(5000);
    
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            System.out.println("9999999");
        }
    

    有问题,,,,还可以追问,,,,有帮助,,请采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?