我对我的代码有疑问。
我有两个从 main 方法运行的线程,我想捕获 main 方法的两个线程中的任何一个线程中可能发生的异常。
Future<Object> incoming=Executors.newSingleThreadExecutor().submit(new Task1(param1));
Future<Object> outgoing=Executors.newSingleThreadExecutor().submit(new Task2(param2));
问题是,如果我对异常使用 Future Object 并调用 get() 方法,它将阻塞我的代码,并且我不知道线程 2 是否在线程 1 之前完成/抛出异常。
我怎样才能优雅地处理这个而不是这个?
while(!(incoming.isDone() || outgoing.isDone())){}