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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)