我有一个任务想要以固定速率运行。但是我还需要每次执行后任务的结果。这是我尝试过的:
The task
class ScheduledWork implements Callable<String>
{
public String call()
{
//do the task and return the result as a String
}
}
不,我尝试使用ScheduledExecutorService
来安排它。结果你无法安排Callable
在固定利率下,仅Runnable
可以这样做。
请指教。
Use a 生产者/消费者模式: 有可运行的put其结果为阻塞队列。有另一个线程take()从队列中。
Take 是一个阻塞调用(即仅当队列中有内容时才返回),因此您将在结果可用时立即获得结果。
您可以将其与好莱坞模式为等待线程提供回调,以便在有可用内容时调用您的代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)