Java是一门非常流行的编程语言,其中的sleep和wait是两个重要的方法。本文将介绍这两个方法的区别和使用方法。
sleep()方法是在Java中常用的方法之一,它可以让当前线程休眠一段时间。该方法的调用形式为:
try{ Thread.sleep(1000); //休眠一秒 }catch(InterruptedException e){ e.printStackTrace(); }
上述代码中的1000表示休眠的毫秒数,catch块中的代码会在发生中断异常时执行。
与sleep()方法不同的是,wait()方法可以让线程等待某些条件,直到其他线程通知这个条件已经满足时,该线程才会被唤醒。wait()方法通常和synchronized关键字一起使用,代码示例如下:
synchronized(object){ while(!condition){ object.wait(); } //执行业务逻辑 }
上述代码中的object表示当前线程锁定的对象,condition表示等待的条件。如果线程发现condition不满足,就会调用wait()方法让出锁并进入等待状态;如果condition被其他线程改变,就会调用notify()/notifyAll()方法唤醒等待的线程。
总结来说,sleep()方法是让线程等待一段时间的方法,wait()方法是让线程等待某些条件的方法。在使用时要注意他们的区别和正确的调用方法。