Hallo,
ich habe zwei Fragen zu Threads:
1.) Was ist der Unterschied zwischen Thread und Runnable? Zwei Beispiele (erstes aus Java Insel 6, zweites ein kleines Programm von mir):
und
Ist das nach Belieben des Autors oder gibt es Regeln, wann besser Fall1 und wann eher Fall2 zur Anwendung kommen sollte?
Und Frage 2: Warum muss (so hab ich gelesen) im 2. Beispiel ein try/catch in die Run-Methode, im ersten Fall aber nicht?
Gruß
Daniel
ich habe zwei Fragen zu Threads:
1.) Was ist der Unterschied zwischen Thread und Runnable? Zwei Beispiele (erstes aus Java Insel 6, zweites ein kleines Programm von mir):
Code:
public class DateCommand implements Runnable {
public void run() {
for ( int i = 0; i < 20; i++ ) System.out.println( new java.util.Date() );
}
}
Thread t1 = new Thread( new DateCommand() );
t1.start();
und
Code:
class MaleFraktale extends Thread {
/**
* Diese Funktion wird ausgeführt, wenn der Thread
* per "start()" gestartet wird
*/
public void run() {
// solange der Thread aktiv ist, Zeichenfunktion durchführen
while(!isInterrupted()) {
// Zuerst das Mandelbrot initiieren,
// damit jedesmal eine zufällige Fraktalform erscheint
InitMandel();
// danach das Mandelbrot zeichnen
ZeichneMandel();
// kurze pause einlegen, damit nicht zu schnell
try {
// 5 Sekunden warten
sleep(5000);
} catch(InterruptedException e) {
return;
}
}
}
}
meinThread = new MaleFraktale(zeichenflaeche);
meinThread.start();
Ist das nach Belieben des Autors oder gibt es Regeln, wann besser Fall1 und wann eher Fall2 zur Anwendung kommen sollte?
Und Frage 2: Warum muss (so hab ich gelesen) im 2. Beispiel ein try/catch in die Run-Methode, im ersten Fall aber nicht?
Gruß
Daniel