Java中是否有“阻止直到条件变为真”函数?
我正在为服务器编写一个侦听器线程,目前我正在使用:
while (true){
    try {
        if (condition){
            //do something
            condition=false;
        }
        sleep(1000);
    } catch (InterruptedException ex){
        Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex);
    }
}
使用上面的代码,我遇到了运行函数占用所有CPU时间循环的问题。睡眠功能有效,但这似乎是一个临时的解决办法,而不是一个解决办法。
有没有一些函数会阻塞,直到变量“condition”变成“true”?还是连续循环是等待变量值变化的标准方法?
 
					 
				 
				    		 
				    		 
				    		 
				    		