Hallo
Zur Einführung habe ich hier ein kleines Programm.
Ich habe dazu 3 Klassen. Die Klasse Thread hat 3 Methoden, start, sleep, run.
Die Anweisungen stehen zwar in der run Methode aber es wird trotzdem irgendwie die start Methode im Main verwendet.
Warum funktiioniert das jetzt nicht?
Eigentlich sollte jetzt ein Plus kommen um zu zeigen, dass die main vorher fertig wird und ich sollte auch sehen, dass sich .*.*.*.*.*.* irgendwie nacheinander wiederholt. Tut es aber nicht.
[code=Java]
public class CharPrinter extends Thread {
char signal;
public CharPrinter(char ch) {
signal = ch;
}
public void run() {
for (int i = 0; i < 20; i++) {
System.out.print(signal);
int delay = (int) (Math.random() * 1000);
try {
sleep(delay);
} catch (Exception e) {
return;
}
}
}
}
[/code]
[code=Java]
public class Thread {
public void start() {}
public static void sleep(int milliSeconds) {}
public void run() {
}
}
[/code]
[code=Java]
class Program {
public static void main(String[] arg) {
CharPrinter thread1 = new CharPrinter('.');
CharPrinter thread2 = new CharPrinter('*');
thread1.start();
thread2.start();
System.out.print('+');
}
}
[/code]