Heim > Java > javaLernprogramm > Java-Thread-Status und Analyse gängiger Methoden sowie Beispiele

Java-Thread-Status und Analyse gängiger Methoden sowie Beispiele

王林
Freigeben: 2023-04-21 13:04:08
nach vorne
1478 Leute haben es durchsucht

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状态
	}
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage