我正在尝试实现一个 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();
}