我需要使用 anyExecutor
或执行任务ExecutorService
。任务(Callable
或Runnable
)应该无限运行,但如果出现任何异常,它应该被重新抛出到提交任务的线程。
我知道这future.get()
会为我抛出ExecutionException
:
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<?> future = executor.submit(new Task());
future.get();
但是,在晴天的情况下future.get()
,我会无限期地阻塞,所以我不能使用它。
当底层任务失败时,是否有可能Executor
简单地抛出异常?