Java Thread – 6 State oder wie starten wir ein einfaches Java Programm auf dem Raspberry Pi

Erstellt am 20. Januar 2019 von It_berater

Es gibt 6 State im Enum:

Es gibt mind. diese Status:

Hier mal ein Beispiel, für einige Status. Die Thread-Klasse die nur 5 Sekunden warte:

package de.wenzlaff.twthread;

/**
 * Testthread.
 * 
 * @author Thomas Wenzlaff
 *
 */
public class TestThread implements Runnable {

	public void run() {
		System.out.println(
				"-------> Start Test mit 5 Sekunden sleep. TestThread Status: " + Thread.currentThread().getState());

		try {
			Thread.sleep(5000);
		} catch (InterruptedException e) {
			System.out.println("-------> TestThread InterruptedException: " + Thread.currentThread().getState());
		}
		System.out.println("-------> Ende Test TestThread Status: " + Thread.currentThread().getState());
	}

}

Und die Hauptklasse:

package de.wenzlaff.twthread;

/**
 * Testprogramm für einige Status von Threads.
 * 
 * @author Thomas Wenzlaff
 *
 */
public class Start {

	public static void main(String[] args) throws Exception {

		System.out.println("Programm Start Thread Status: " + Thread.currentThread().getState());

		Runnable runnable = new TestThread();
		Thread testThread = new Thread(runnable);

		System.out.println("Status vom TestThread: " + testThread.getState());

		testThread.start();

		System.out.println("Status vom TestThread nach Start: " + testThread.getState());
		System.out.println("Status Haupt Thread: " + Thread.currentThread().getState());

		Thread.sleep(1000);

		System.out.println("Status vom TestThread nach 1 Sekunde sleep: " + testThread.getState());

		Thread.sleep(5000);

		System.out.println("Status vom TestThread nach 5 Sekunde sleep: " + testThread.getState());
		System.out.println("Programm Ende Haupt Thread Status: " + Thread.currentThread().getState());

		// TODO: State: WAITING und BLOCKED
	}
}

Liefert das Ergebnis:

Programm Start Thread Status: RUNNABLE
Status vom TestThread: NEW
Status vom TestThread nach Start: RUNNABLE
Status Haupt Thread: RUNNABLE
-------> Start Test mit 5 Sekunden sleep. TestThread Status: RUNNABLE
Status vom TestThread nach 1 Sekunde sleep: TIMED_WAITING
-------> Ende Test TestThread Status: RUNNABLE
Status vom TestThread nach 5 Sekunde sleep: TERMINATED
Programm Ende Haupt Thread Status: RUNNABLE

Nun zu der Frage wie wir das Programm auf einem Raspberry Pi starten. Wenn wir das Programm compiliert haben, kopieren wird die beiden CLASS Dateien mit der Verzeichnis Struktur auf den Pi:

Nun starten wir Java im obersten Verzeichnis mit folgenen Befehl: java de.wenzlaff.twthread.Start

Ähnliche Artikel:

  1. Welche Möglichkeiten der Java Objekt-Erzeugung gibt es?
  2. Java Quickie: Iterieren mit forEach über eine Collection (von Mindmaps) mit Lambda expressions
  3. Wie kann eine Excel CSV Datei mit Java mit Apache commons eingelesen werden?