Hallo zusammen,
ich bin mir nicht sicher, ob ich die Threads so richtig verstehe. Ich habe drei Klassen (Main, Prog1 extends Thread, Prog2 extends Thread), wobei die zwei Klassen (Prog1, Prog2) als Threads von der Main Klasse aufgerufen werden.
Nun habe ich Methoden in der Main Klasse, die von den beiden anderen Threads aufgerufen werden. Es kann unter Umständen auch passieren, dass die Threads eine Methode der Main Klasse gleichzeitig aufrufen müssen.
Die Methoden der Main Klasse werden ja über Objekte angesprochen. Nun zu meiner Frage... Wenn ich die Klassen Prog1 und Prog2 zwei verschieden Objekte der Klasse Main verwenden lasse, kann es da trotzdem zu Kollisionen kommen? Was wäre eurer Meinung nach die beste Lösung?
Hier das Beispiel optisch verdeutlicht:
Was würde passieren, wenn die Threads parallel (gleichzeitig) laufen würden?
Ich hoffe ihr versteht mein Anliegen. Vielen Dank im Voraus,
lg mci
ich bin mir nicht sicher, ob ich die Threads so richtig verstehe. Ich habe drei Klassen (Main, Prog1 extends Thread, Prog2 extends Thread), wobei die zwei Klassen (Prog1, Prog2) als Threads von der Main Klasse aufgerufen werden.
Nun habe ich Methoden in der Main Klasse, die von den beiden anderen Threads aufgerufen werden. Es kann unter Umständen auch passieren, dass die Threads eine Methode der Main Klasse gleichzeitig aufrufen müssen.
Die Methoden der Main Klasse werden ja über Objekte angesprochen. Nun zu meiner Frage... Wenn ich die Klassen Prog1 und Prog2 zwei verschieden Objekte der Klasse Main verwenden lasse, kann es da trotzdem zu Kollisionen kommen? Was wäre eurer Meinung nach die beste Lösung?
Hier das Beispiel optisch verdeutlicht:
Java:
public class Main {
public static void main(String[] args) {
Prog1 prog1 = new Prog1();
prog1.start();
Prog2 prog2 = new Prog2();
prog2.start();
}
public static int rechner(int zahl1, int zahl2) {
return (zahl1 * zahl2);
}
}
public class Prog1 extends Thread{
Main main1 = new Main();
System.out.println(main1.rechner(1, 2));
}
public class Prog2 extends Thread{
Main main2 = new Main();
System.out.println(mein2.rechner(4, 5));
}
Was würde passieren, wenn die Threads parallel (gleichzeitig) laufen würden?
Ich hoffe ihr versteht mein Anliegen. Vielen Dank im Voraus,
lg mci