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中的異步編程
將C類型的obj由相同的線程執行?
謝謝。這有幫助。這個問題呢? C類型的obj是由同一個線程執行的嗎? – Phoenix
你的代碼中沒有跡象表明'obj'是一個Runnable或Callable。它被構建,但沒有其他任何事情可以做到。 – slim
它也很大程度上取決於你的ExecutorService實現...... –