我有一個類,它使用executor服務來同時運行任務。等待執行程序服務線程
代碼:
class SomeClass{
private static ExecutorService taskThread = Executors.newFixedThreadPool(1, new ThreadFactory() {
private int threadCount = 0;
@Override
public Thread newThread(Runnable r) {
Thread t = new Thread(r);
t.setDaemon(true);
return t;
}
});
static {
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
taskThread.shutdown();
}
});
}
doSomeTask()
{
DocumentUploader callable = new DocumentUploader(randomID,fileLoc);
FutureTask<String> task1 = new FutureTask<String>(callable);
taskThread.execute(task1);
}
someFunctionforWait(){
//what here..???
}
我還有一個類名SomeOtherClass
將訪問由task1
線程完成的修改/計算。所以我需要等待線程完成,那麼我如何等待task1
完成。我打算做的是致電SomeOtherClass
someFunctionforWait()
檢查線程是否已完成,然後開始執行任務。
我該怎麼做。
ExecutorService的關機和awaitTermination – emsworth 2014-09-22 18:06:34
請你ellaborate更多..?我應該在那裏把這些sumFunctionWait()..? @emsworth – stupidosaur 2014-09-22 18:08:22