我需要按顺序执行任务:
Executor executor = Executors.newSingleThreadExecutor();
public void push(Runnable task) {
executor.execute(task);
}
有时任务永远不会结束。我想设置一个超时,以防止它阻止下一个。
编辑:我需要一个“ fire and forget ”设计,因为我无法阻止此执行的调用者
答案 0 :(得分:1)
这可以使用Future对象完成。
ExecutorService executor = Executors.newSingleThreadExecutor();
Runnable task = new Runnable() {
@Override
public void run() {
//do your task
}
};
Future<?> future = executor.submit(task);
future.get(60, TimeUnit.SECONDS); // awaits termination