Hallo,
in meiner Anwendung warte ich auf das Ende eines Threads in einer while-Schleife.
Während der Thread läuft ist die static-Variable "lockok" auf 0 gesetzt.
Der Thread selbst versucht einen Datensatz zu sperren. Sofern dies gelingt setzt er lockok auf 1, sofern nicht auf -1.
Das heißt die while-Schleife wird auf jeden Fall irgendwann abgebrochen.
Aber: Ich könnte mir gut vorstellen, daß es in Java vernünftigere Methoden gibt einen Wartezustand zu erzeugen, als das eigene Programm im Kreis drehen zu lassen.
Der entscheidende Teil ist die Schleife:
Könnte mir vielleicht jemand mit ein paar Stichworten auf die Sprünge helfen?
Herzlichen Dank und Grüße
Jürgen
Hier mein Code:
[/quote]
in meiner Anwendung warte ich auf das Ende eines Threads in einer while-Schleife.
Während der Thread läuft ist die static-Variable "lockok" auf 0 gesetzt.
Der Thread selbst versucht einen Datensatz zu sperren. Sofern dies gelingt setzt er lockok auf 1, sofern nicht auf -1.
Das heißt die while-Schleife wird auf jeden Fall irgendwann abgebrochen.
Aber: Ich könnte mir gut vorstellen, daß es in Java vernünftigere Methoden gibt einen Wartezustand zu erzeugen, als das eigene Programm im Kreis drehen zu lassen.
Der entscheidende Teil ist die Schleife:
while(lockok == 0){
}
Könnte mir vielleicht jemand mit ein paar Stichworten auf die Sprünge helfen?
Herzlichen Dank und Grüße
Jürgen
Hier mein Code:
Code:
setLockStatement((belegung[tspalte]+1 >=10 ? new Integer(belegung[tspalte]+1).toString()+"BEHANDLER" : "0"+(belegung[tspalte]+1)+"BEHANDLER"),aktuellerTag);
new Thread(new LockRecord()).start();
if(ansicht==NORMAL_ANSICHT){
while(lockok == 0){
}
if (lockok > 0){
Zeiteinstellen(e.getLocationOnScreen(),belegung[tspalte],aktiveSpalte[0]);
oSpalten[tspalte].requestFocus();
}else{
lockok = 0;
sperreAnzeigen();
}
}else{ //WOCHEN_ANSICHT muß noch entwickelt werden!
while(lockok == 0){
}
System.out.println("Belegung:"+belegung[tspalte]+" Aktiver Block:"+aktiveSpalte[0]);
Zeiteinstellen(e.getLocationOnScreen(),tspalte,aktiveSpalte[0]);
oSpalten[tspalte].requestFocus();
}
// Hier Titel setzen