In allen vorangehenden Beispielen haben wir uns auf einen Prozess konzentriert. Im nächsten Beispiel werden zwei Prozesse verwendet:
public class Thread2 implements Runnable { static Thread prozess; static Thread prozess2; Thread2() { prozess = new Thread(this, "Kindprozess"); prozess2 = new Thread(this, "Kindprozess2"); } public void run() { while (true) { System.out.println(Thread.currentThread().getName() + " läuft..."); try { Thread.sleep(1000); } catch (InterruptedException ie) { } } } public static void main (String [] args) { Thread2 proggi = new Thread2(); prozess.start(); prozess2.start(); } }
Damit erklärt sich die folgende Ausgabe:
alfred@duron:~/java/threads> java Thread2 Kindprozess läuft... Kindprozess2 läuft... Kindprozess2 läuft... Kindprozess läuft... Kindprozess läuft...
Die Methode Thread.currentThread() ermittelt den gerade laufenden Prozess; auf das Ergebnis kann die Thread-Methode getName() angewendet werden. Sie gibt den Namen des Prozesses zurück.