Hallo,
ich habe gelesen das Swing nicht Threadsicher sei. Jetzt frage ich mich warum in der Faq:
http://www.java-forum.org/de/viewtopic.php?t=8101
in der Mainklasse, die von Swings JFrame abgeleitet ist, ein Thread in der Methode start() erzeut wird.
Wie ist das jetzt mit der Threadunsicherheit zu verstehen.
Noch eine andere Frage:
Wenn das in Ordung ist und die Klasse in einem Thread abläuft und man das ganze noch ein bischen so umbaut:
Wobei algotask ein Integer ist und die verschiedenen Algorhtymen repräsentert, welche man in unterschiedlicher Reihenfolge ablaufen lassen kann.
Ist das eingentlich in Ordnung so? Also ich meine das die run() Methode in einer Schleife immer rennt und je nach algotask, welchen man über die GUI bestimmen kann ausführt?
ich habe gelesen das Swing nicht Threadsicher sei. Jetzt frage ich mich warum in der Faq:
http://www.java-forum.org/de/viewtopic.php?t=8101
in der Mainklasse, die von Swings JFrame abgeleitet ist, ein Thread in der Methode start() erzeut wird.
Wie ist das jetzt mit der Threadunsicherheit zu verstehen.
Noch eine andere Frage:
Wenn das in Ordung ist und die Klasse in einem Thread abläuft und man das ganze noch ein bischen so umbaut:
Code:
protected void start(){
buttonStart.setEnabled( false );
// Einen neuen Thread herstellen, und starten.
myThread = new Thread( this );
myThread.start();
buttonStop.setEnabled( true );
}
public void run(){
while(!myThread.isInterrupted()) {
switch(algotask) {
case 1:
algoaction1();
algotask = 0;
break;
case 2:
algoaction1();
algotask = 0;
break;
case 3:
algoaction1();
algotask = 0;
break;
}
try {
Thread.sleep(100);
} catch(Exception e) {
e.printStackTrace();
}
}
Wobei algotask ein Integer ist und die verschiedenen Algorhtymen repräsentert, welche man in unterschiedlicher Reihenfolge ablaufen lassen kann.
Ist das eingentlich in Ordnung so? Also ich meine das die run() Methode in einer Schleife immer rennt und je nach algotask, welchen man über die GUI bestimmen kann ausführt?