Java中有一个库,执行以下操作?一个线程应该重复休眠x毫秒,直到条件成为真或达到最大时间。
这种情况大多发生在测试等待某些条件成为真实的情况下。条件受到另一个线程的影响。
[编辑]只是为了使其更清楚,我希望测试在它失败之前只等待X ms。它不能等待永远的条件成为真实。我正在增加一个有创意的例子。
class StateHolder{
boolean active = false;
StateHolder(){
new Thread(new Runnable(){
public void run(){
active = true;
}
}, "State-Changer").start()
}
boolean isActive(){
return active;
}
}
class StateHolderTest{
@Test
public void shouldTurnActive(){
StateHolder holder = new StateHolder();
assertTrue(holder.isActive); // i want this call not to fail
}
}