Estou criando um aplicativo Java com um thread de lógica de aplicativo e um thread de acesso ao banco de dados. Ambos persistem por toda a vida útil do aplicativo e precisam estar em execução ao mesmo tempo (um fala com o servidor, outro com o usuário; quando o aplicativo é totalmente iniciado, preciso que ambos trabalhem).
No entanto, na inicialização, preciso garantir que, inicialmente, o encadeamento do aplicativo aguarde até que o encadeamento db esteja pronto (atualmente determinado pela pesquisa de um método personalizado dbthread.isReady()
). Eu não me importaria se o segmento de aplicativo bloqueie até que o segmento db esteja pronto.
Thread.join()
não parece uma solução - o encadeamento db só sai no encerramento do aplicativo.
while (!dbthread.isReady()) {}
funciona, mas o loop vazio consome muitos ciclos do processador.
Alguma outra ideia? Obrigado.