题
我有一个任务,我想在一个固定的速率。但是我也需要结果的任务之后,每一个执行。这里是我想:
任务
class ScheduledWork implements Callable<String>
{
public String call()
{
//do the task and return the result as a String
}
}
没有,我试图使用 ScheduledExecutorService
到计划。原来你无法安排一个 Callable
在一个固定的速度,只有一个 Runnable
可以这样做。
请提供意见。
其他提示
除非如果你不关心的回报价值 Callable
, 你可以包装在一个 Runnable
和使用,通过 ScheduledExecutorService
.
public static Runnable runnableOf(final Callable<?> callable)
{
return new Runnable()
{
public void run()
{
try
{
callable.call();
}
catch (Exception e)
{
}
}
};
}
那么当你要提交 ScheduledExecutroService
你可以穿你的 Callable
:
ses.scheduleAtFixedRate(runnableOf(callabale), initialDelay, delay, unit);
不隶属于 StackOverflow