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条)

报告相同问题?

悬赏问题

  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误