Home > Java > javaTutorial > What is the difference between wait() and sleep() methods in Java?

What is the difference between wait() and sleep() methods in Java?

WBOY
Release: 2023-08-26 23:37:21
forward
818 people have browsed it

What is the difference between wait() and sleep() methods in Java?

sleep() method is a static method of the Thread class, which can send the current running The data thread enters the "not runnable" state, and the wait() method is an instance method, we call it using the thread object, and it only affects the object. sleep() The method wakes up or calls the interrupt() method after the time expires, while the wait() method wakes up or calls after the time expires >notify() or notifyAll() method. The sleep() method does not release any locks or monitors while waiting, while the wait() method releases locks or monitors while waiting.

Sleep() method syntax

public static void sleep(long millis) throws InterruptedException
Copy after login

wait() method syntax

public final void wait() throws InterruptedException<strong>
</strong>
Copy after login

Example

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();
   }
}
Copy after login

Output

Number in methodOne(): 60
Number in methodTwo(): 4500
Copy after login

The above is the detailed content of What is the difference between wait() and sleep() methods in Java?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template