我有一个类,它使用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