sleep()方法是Thread類別的一個靜態方法,它可以發送目前運行的資料執行緒進入「不可運行」狀態,而 wait()方法是一個實例方法,我們使用執行緒物件呼叫它,並且它僅對該物件產生影響。 sleep() 方法在時間到期後喚醒或呼叫 interrupt() 方法,而wait() 方法在時間到期後喚醒或呼叫 >notify() 或notifyAll() 方法。 sleep() 方法在等待時不會釋放任何鎖定或監視器,而 wait() 方法會在等待時釋放鎖定或監視器。
public static void sleep(long millis) throws InterruptedException
public final void wait() throws InterruptedException<strong> </strong>
public class ThreadTest implements Runnable { private int number = 10; public void methodOne() throws Exception { synchronized(this) { number += 50; System.out.println("Number in methodOne(): " + number); } } public void methodTwo() throws Exception { synchronized(this) { Thread.sleep(2000); // calling sleep() method this.wait(1000); // calling wait() method number *= 75; System.out.println("Number in methodTwo(): " + number); } } public void run() { try { methodOne(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) throws Exception { ThreadTest threadTest = new ThreadTest(); Thread thread = new Thread(threadTest); thread.start(); threadTest.methodTwo(); } }
Number in methodOne(): 60 Number in methodTwo(): 4500
以上是在Java中,wait()和sleep()方法之間的差異是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!