我正在尝试实现一个FIFO观察者/可观察的解耦队列,但我不知道如何让一个方法在返回之前等待队列不为空。这是我目前的尝试,但我确信必须有一个更优雅的解决方案。
/*
* Waits until there is data, then returns it.
*/
private Double[] get() {
while (queue.isEmpty()) {
try {
Thread.sleep(1);
} catch (InterruptedException e) {
// Don't care.
}
}
return queue.removeFirst();
}