Heim >Java >javaLernprogramm >Java-Thread-Status und Analyse gängiger Methoden sowie Beispiele
Sie können den Status des Threads über die Thread.getState-Methode abrufen (es gibt insgesamt 6 Thread-Status)
NEW (neu) neu: noch nicht gestartet
RUNNABLE (ausführbarer Status) ausführbar: läuft in der JVM; oder Warten auf das Betriebssystem Andere Ressourcen (z. B. Prozessoren)
//Einige Programmiersprachen teilen RUNNABLE in zwei Situationen auf
//1.running
//2.ready
//Die beiden oben genannten Typen sind alle RUNNABLE in Java
BLOCKED (Blockierter Zustand) blockiert: Warten auf die Monitorsperre (interne Sperre)
WAITING (Wartezustand) Warten: Warten auf einen anderen Thread
Der Aufruf der folgenden Methode befindet sich im Wartezustand
Objekt .wait ohne Timeout-Wert
Kein Thread.join mit Timeout-Wert
LockSupport.park
//Wird später im Detail vorgestellt
TIMED_WAITING (zeitgesteuerter Wartezustand) timed_waiting
Der Aufruf der folgenden Methode erfolgt im zeitgesteuerten Warten state
Thread.sleep
Object mit Timeout-Wert .wait
Thread.join mit Timeout-Wert
LockSupport.parkNanos
LockSupport.parkUnti
//Wird später im Detail vorgestellt
TERMINATED (Beendigungsstatus): Abgeschlossen
Einige Beispiele:
public class Main { public static void main(String[] a) { Thread dangqian = Thread.currentThread();//获取主线程 System.out.println(dangqian.getState());//输出RUNNABLE //表示主线程正处于RUNNABLE状态 Thread tj = new Thread();//新建1个线程 System.out.println(tj.getState());//输出NEW Thread tj1 = new Thread(new Runnable() { @Override public void run() { System.out.println("ACM"); } }); tj1.start(); //启动执行完run方法后线程终止 此时处于TERMINATED状态 } }
Schlaf-Interrupt-Einführung
Sie können den aktuellen Thread über die Thread.sleep-Methode anhalten und in den Wartezustand wechseln
Während der Pausenzeit, wenn die Interrupt-Methode des Thread-Objekts zum Unterbrechen aufgerufen wird Im Thread wird eine java.lang.InterruptedException-Ausnahme ausgelöst. Nachdem Thread A die Ausführung abgeschlossen hat, führt der aktuelle Thread die Aufgabe weiter aus. Sie können Parameter übergeben, um die maximale Wartezeit festzulegen.
A.isAlive-Methode: Überprüfen Sie, ob Thread A noch aktiv ist
Das obige ist der detaillierte Inhalt vonJava-Thread-Status und Analyse gängiger Methoden sowie Beispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!