3
3,14159265
Gast
Hallo zusammen,
ich haben folgendes Problem:
2 Klassen A und B mit einer run Methode. Sie sollen immer nacheinander ausgeführt werden, also A, B, A, B, A, B usw..
A und B stammen von der Klasse C ab.
Um dies zu Überwachen gibt es eine Methode Ü. Ü hat einen Vector<C>vec und eine run Methode. Um nun die Liste A,B,A,B... abzuarbeiten, habe ich in der run Methode folgendes geschrieben:
Allerdings kann B erst starten, wenn A abgearbeitet ist und A kann erst starten, wenn B abgearbeitet ist (ausser A ist das erste Element)..
Leider habe ich nicht so den Plan, wie man diese Abhängigkeiten erreicht.
Mit dem oben stehenden Code, wird halt nur A ausgeführt..
Wäre echt super, wenn mir einer von euch erklären kann, wie ich mein Vorhaben am besten umsetzen kann.
Vielen Dank und Gruß..
ich haben folgendes Problem:
2 Klassen A und B mit einer run Methode. Sie sollen immer nacheinander ausgeführt werden, also A, B, A, B, A, B usw..
A und B stammen von der Klasse C ab.
Um dies zu Überwachen gibt es eine Methode Ü. Ü hat einen Vector<C>vec und eine run Methode. Um nun die Liste A,B,A,B... abzuarbeiten, habe ich in der run Methode folgendes geschrieben:
Java:
public void run(){
for(int i=0;i<vec.size();i++){
synchronized(vec){
C myC = vec.get(i); //myC ist entweder A oder B
if(i%2==0){//Das erste Element in vec ist immer A
A myA = I.getA();
myA.start();.notify();
vec.notify();
}
else{//Das 2te Element in vec ist immer B
B myB = I.getB();
myB.start();
vec.notify();
}
}
}
}
Allerdings kann B erst starten, wenn A abgearbeitet ist und A kann erst starten, wenn B abgearbeitet ist (ausser A ist das erste Element)..
Leider habe ich nicht so den Plan, wie man diese Abhängigkeiten erreicht.
Mit dem oben stehenden Code, wird halt nur A ausgeführt..
Wäre echt super, wenn mir einer von euch erklären kann, wie ich mein Vorhaben am besten umsetzen kann.
Vielen Dank und Gruß..