Hallo Javaner,
für eine Klasse brauche ich einen Thread, der Berechnungen alle 20 Millisekunden durchführen soll.
Allerdings nur dann, wenn die Vaterklasse dazu die Erlaubnis gibt.
Das funktioniert auch, allerdings klappt es nicht mehr, wenn ich
die erste Kontrollausgabe ( erstes Zeile in der while-Schleife ) auskommentiere!
Dann reagiert der Thread nicht mehr auf die Flagge der Vaterklasse.
Was ist daran falsch?
Wie bekomme ich das Problem in den Griff?
Gruss GBunge
für eine Klasse brauche ich einen Thread, der Berechnungen alle 20 Millisekunden durchführen soll.
Allerdings nur dann, wenn die Vaterklasse dazu die Erlaubnis gibt.
Code:
public class Vater {
private MoveThread move;
public boolean runFlag = false;
public Vater() extends JPanel {
move = new MoveThread();
move.start();
}
private MoveThread extends Thread {
@Override public void run() {
while( Vater.isVisible() {
System.out.println("Thread läuft");
if( ! Vater.runFlag ) continue;
System.out.println("Thread rechnet");
try { Thread.sleep( 100 ); }
catch (InterruptedException ex) {}
}
}
}
}
Das funktioniert auch, allerdings klappt es nicht mehr, wenn ich
die erste Kontrollausgabe ( erstes Zeile in der while-Schleife ) auskommentiere!
Dann reagiert der Thread nicht mehr auf die Flagge der Vaterklasse.
Was ist daran falsch?
Wie bekomme ich das Problem in den Griff?
Gruss GBunge