Erklärung
1. Es gehört zur Object-Klasse. Nachdem das Objekt die Wartemethode aufgerufen hat, gibt es den Thread frei, der derzeit die Objektsperre hält, und tritt in die Warteschlange ein.
2. Die andere Partei ruft notify auf, um die Sperre des Konkurrenten aus einem zufällig ausgewählten Thread in der Warteschlange aufzuwecken, und die andere Partei ruft notifyall auf, um die Sperre des Konkurrenten aus allen Threads in der Warteschlange aufzuwecken.
Instanzen
public class Demo { public static void main(String[] args) { Demo demo = new Demo(); Thread t1 = new Thread(() -> { synchronized (demo) { System.out.println("t1 start"); try { demo.wait(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("t1 end"); } }); Thread t2 = new Thread(() -> { synchronized (demo) { System.out.println("t2 start"); System.out.println("t2 end"); demo.notify(); } }); t1.start(); t2.start(); } }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Warten, um den Thread-Status in Java zu ändern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!