Ich mache eine Java-Anwendung mit einem Anwendungslogik-Thread und einem Datenbankzugriffsthread. Beide bleiben während der gesamten Lebensdauer der Anwendung bestehen und müssen gleichzeitig ausgeführt werden (einer spricht mit dem Server, einer mit dem Benutzer; wenn die App vollständig gestartet ist, müssen beide funktionieren).
Beim Start muss ich jedoch sicherstellen, dass der App-Thread zunächst wartet, bis der DB-Thread bereit ist (derzeit durch Abfragen einer benutzerdefinierten Methode ermittelt dbthread.isReady()). Es würde mir nichts ausmachen, wenn der App-Thread blockiert, bis der DB-Thread fertig ist.
Thread.join() sieht nicht nach einer Lösung aus - der DB-Thread wird nur beim Herunterfahren der App beendet.
while (!dbthread.isReady()) {} Art funktioniert, aber die leere Schleife verbraucht viele Prozessorzyklen.
Irgendwelche anderen Ideen? Vielen Dank.
