Я создаю приложение Java с потоком логики приложения и потоком доступа к базе данных. Оба они сохраняются в течение всего срока службы приложения, и оба должны работать одновременно (один разговаривает с сервером, другой разговаривает с пользователем; когда приложение полностью запущено, мне нужно оба работали).
Однако при запуске мне нужно убедиться, что изначально поток приложения ждет, пока поток db не будет готов (в настоящее время определяется путем опроса настраиваемого метода dbthread.isReady()). Я бы не возражал, если поток приложения блокируется до тех пор, пока поток db не будет готов.
Thread.join() не похоже на решение - поток db завершается только при завершении работы приложения.
while (!dbthread.isReady()) {} вроде работает, но пустой цикл потребляет много циклов процессора.
Есть другие идеи? Спасибо.
