次のコードでは、Callable
実行結果に関するメッセージを何らかの UI スレッドに発行する必要があります。
Future<T> aFuture = aExecutorService.submit(aCallable); //suppose in thread A
aExecutorService.execute(new Runnable() { //suppose in thread B
@Override
public void run() {
try {
final T aresult = aFuture.get();
sendSuccessMesage(aResult);
}catch( . . . . . . e)
. . . . . . .
sendExceptionHappenedMessage(e.getMessage());
. . . . . . .
}
}
スレッド A が中断された場合、スレッド B は永遠に結果を待ち続けますか? これを行う代替/安全な方法は何ですか?