- 从队列中取出一个任务
- 将其提交给执行器
- 调用返回的Future的.get()方法并阻塞直到结果可用
- 从队列中再取出另一个任务...
我想要的是提交一个任务,并提供一个回调函数,在任务完成时调用该回调函数。我将使用该回调通知作为发送下一个任务的标志。(functionaljava和jetlang显然使用这些非阻塞算法,但我无法理解他们的代码)
除了编写自己的执行器服务,如何使用JDK的java.util.concurrent实现这一点?
(提供这些任务的队列本身可能会阻塞,但这是以后需要解决的问题)
Runnable
、Consumer
或BiConsumer
,具体取决于我需要从任务传递给监听器的内容。 - erickson