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.