Estoy haciendo una aplicación Java con un hilo de lógica de aplicación y un hilo de acceso a la base de datos. Ambos persisten durante toda la vida útil de la aplicación y ambos deben ejecutarse al mismo tiempo (uno habla con el servidor, uno habla con el usuario; cuando la aplicación se inicia por completo, necesito que ambos funcionen).
Sin embargo, en el inicio, necesito asegurarme de que inicialmente el subproceso de la aplicación espere hasta que el subproceso db esté listo (actualmente determinado mediante una encuesta de un método personalizado dbthread.isReady()
). No me importaría si el hilo de la aplicación se bloquea hasta que el hilo de db esté listo.
Thread.join()
no parece una solución: el subproceso db solo se cierra al cerrar la aplicación.
while (!dbthread.isReady()) {}
funciona, pero el bucle vacío consume muchos ciclos de procesador.
¿Alguna otra idea? Gracias.