最近,我一直在与 Google Guava 和 ListenableFutures 进行广泛的合作,而我一直发现缺少的东西是一种提供未来完成的乱序流处理程序的方法。我所设想的是一个可迭代的,它在next()上阻塞,直到另一个未来返回。
在我努力创建自己的之前,是否已经存在一个?
如果没有,我的想法是利用 ListenableFuture 的回调功能将结果推送到 BlockingQueue。目标是在返回值返回后立即处理它们。Futures.successfulAsList()
很棒,但在返回之前等待所有值,而不是让我安排其他有用的工作。