class A{
final B;
B.compute(); // Does executing this line create a new thread since this returns
// a future and the entire function is executed by the same thread ?
}
class B{
Future<Void> compute(){
C obj = factoryOfC.getC();
ListenableFuture<Void> future = executorService.submit (new Callable(){
doSomething();
});
Futures.addCallback(future, new FutureCallback<Void>(){
@Override
void onSuccess(){
}
@Override
void onFailure(){
}
} // end of callback.
} // end of class B
Как вы бы описали себя здесь? Какой поток/сек будет выполнять какую часть работы? Будет ли вызов и обратный вызов выполняться в том же потоке?Асинхронное программирование в Java/Guava
WILL obj типа C будет выполняться той же резьбой?
Спасибо. Что помогает. Как насчет этого вопроса? WILL obj типа C выполняется одним и тем же потоком? – Phoenix
В вашем коде нет указаний, что 'obj' является Runnable или Callable. Он строится, но с ним ничего не делается. – slim
Это также сильно зависит от реализации 'ExecutorService' у вас есть ... –