import java.awt.*; public class Process extends Thread { public void run() { // Prozess läuft los. Logger l = Logger.getInstance(); // (Einzige) Logger-Instanz holen // Damit man auch was sieht: Jeder Prozess bekommt ein Fenster Frame frame = new Frame(this.toString()); // Ein Fenster frame.setSize(200,100); // Größe ändern (breite, höhe) frame.move((int)(Math.random()*800),(int)(Math.random()*600)); frame.setVisible(true); // In Log-Datei schreiben (synchronized: Immer nur einer) l.log("Neuer Prozess " + this.toString() + " gestartet."); // "ungefähr" eine Sekunde warten try { sleep((int) (10000.0 * Math.random())); } catch(InterruptedException ie) {} // Nichts tun, falls Unterbrechung frame.dispose(); // Fenster (für immer) schließen l.log("Prozess " + this.toString() + " beendet."); } public Process() { // start() aus Basisklasse Thread aufrufen, startet auch run() start(); } }