Sto realizzando un'applicazione Java con un thread logico dell'applicazione e un thread di accesso al database. Entrambi persistono per l'intera vita dell'applicazione ed entrambi devono essere eseguiti contemporaneamente (uno parla al server, uno parla all'utente; quando l'app è completamente avviata, ho bisogno che entrambi funzionino).
Tuttavia, all'avvio, devo assicurarmi che inizialmente il thread dell'app attenda che il thread db sia pronto (attualmente determinato eseguendo il polling di un metodo personalizzato dbthread.isReady()
). Non mi dispiacerebbe se il thread dell'app si blocca fino a quando il thread db non è pronto.
Thread.join()
non sembra una soluzione - il thread db esce solo allo spegnimento dell'app.
while (!dbthread.isReady()) {}
funziona, ma il ciclo vuoto consuma molti cicli del processore.
Altre idee? Grazie.