Java两种延时方法及区别

Java中有两种常用的延迟方法。

一是使用通过实例化Timer对象实现,如下:

Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            public void run() {    
            System.out.println("延迟1.5s");        
            //延迟特定时间后执行该语句(public void run()的花括号里的语句)        
        } }, 1500);        //这里的数字1500意思是延迟1500毫秒

可以看到:

public void run(){}中的语句即时延迟特定时间后所执行的语句,后面的数字为延迟时间,单位:毫秒。

二是使用Thread类的方法,如下:

Thread.currentThread();
Thread.sleep(2333);        //延迟2333毫秒

这种方法是全局性的,即只要某一个类里面使用了该延迟语句,运行这个类时就会先执行该延迟语句,再执行该类的其它语句。

而上面的第一种方法(Timer)就与此不同,即Timer不会对全局造成影响,即运行这个类时,会先执行Timer上面的其它语句(即按照正常顺序),再执行Timer里面设定的延迟后执行的语句(即上述的public void run()里的语句)。

所以大家使用的时候要有所区别。
--------------------- 
作者:守望时空33 
来源:CSDN 
原文:https://blog.csdn.net/yanhanhui1/article/details/82819681 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/HiflyMaple/article/details/87000266