淘先锋技术网

首页 1 2 3 4 5 6 7

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()方法是让线程等待某些条件的方法。在使用时要注意他们的区别和正确的调用方法。