我正在用一个应用逻辑线程和一个数据库访问线程创建一个 Java 应用程序。 它们都将在应用程序的整个生命周期内持续存在,并且都需要同时运行(一个与服务器对话,一个与用户对话; 当应用程序完全启动时,我需要它们的 都有来工作)。
但是,在启动时,我需要确保应用程序线程最初等待直到数据库线程准备就绪(当前通过轮询自定义方法 dbthread.isReady()
确定)。
在 db 线程准备好之前,我不介意 app 线程阻塞。
Thread.join()
看起来不像一个解决方案-db 线程只在应用程序关闭时退出。
while (!dbthread.isReady()) {}
算是可行的,但是空循环消耗了大量的处理器周期。
还有别的主意吗? 谢谢。