G
Gast
Gast
Hallo,
Ich habe eine kleine Frage zum Thema Threads.
Und zwar habe ich 3 Klassen.
Desweiteren habe ich noch eine Applikation mit verschiedenen Threads, die entweder die Implementierung von aSimpleMethode() aus KindKlasse1 oder KindKlasse2 aufrufen. Pro JVM sollte allerdings nur eine Implementierung zu einer Zeit aufgerufen werden (KindKlasse1 oder Kindklasse2). Reicht es hierfür aus aSimpleMethode() aus der SuperKlasse zu synchronizen?
Wenn SuperKlasse ein Interface wäre, könnte ich das gewünschte Verhalten auch erzwingen, wenn ich in diesem Interface die Methode synchronize?
Bzw. wenn es anstatt dem Interface eine Abstrakte Klasse mit dieser abstrakten Methode wäre?
Fals nicht gibt es eine andere Möglichkeit?
z.b Alla
Besten Dank
Gast
Ich habe eine kleine Frage zum Thema Threads.
Und zwar habe ich 3 Klassen.
Code:
class SuperKlasse{
aSimpleMethode(){
doSomething();
}
}
class KindKlasse1 extends SuperKlasse{
@Override
aSimpleMethode(){
doSomethingOther();
}
}
class KindKlasse2 extends SuperKlasse{
@Override
aSimpleMethode(){
doSomethingCompletelyOther();
}
}
Desweiteren habe ich noch eine Applikation mit verschiedenen Threads, die entweder die Implementierung von aSimpleMethode() aus KindKlasse1 oder KindKlasse2 aufrufen. Pro JVM sollte allerdings nur eine Implementierung zu einer Zeit aufgerufen werden (KindKlasse1 oder Kindklasse2). Reicht es hierfür aus aSimpleMethode() aus der SuperKlasse zu synchronizen?
Wenn SuperKlasse ein Interface wäre, könnte ich das gewünschte Verhalten auch erzwingen, wenn ich in diesem Interface die Methode synchronize?
Bzw. wenn es anstatt dem Interface eine Abstrakte Klasse mit dieser abstrakten Methode wäre?
Fals nicht gibt es eine andere Möglichkeit?
z.b Alla
Code:
class KindKlasse1 extends SuperKlasse{
@Override
aSimpleMethode(){
synchronized(aSingeltonObjekt){
doSomethingOhter();
}
}
}
Besten Dank
Gast