La méthode
sleep() est une méthode static de la classe Thread, qui peut envoyer le thread de données en cours d'exécution dans l'état "unrunnable" , et la méthode wait() est une méthode d'instance, nous l'appelons en utilisant un objet thread et elle n'affecte que cet objet. La méthode sleep() se réveille ou appelle la méthode interrupt() après l'expiration du délai, tandis que la méthode wait() se réveille ou appelle la méthode >notify() ou notifyAll() après le temps expire. La méthode sleep() ne libère aucun verrouillage ou moniteur pendant l'attente, tandis que la méthode wait() libère aucun verrou ou moniteur pendant l'attente.
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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!