sleep() 메서드 는 Thread 클래스의 static 메서드로, 현재 실행 중인 데이터 스레드를 "실행 불가능" 상태로 보낼 수 있으며 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!