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