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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
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:
1 2 3 4 5 6 7 8 9 |
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:
Wer das nicht selbst compilieren will, kann das Verzeichnis auch hier laden und auspacken.
Nun starten wir Java im obersten Verzeichnis mit folgenen Befehl: java de.wenzlaff.twthread.Start