0
我有一个要执行的Task
,并且提交给缓存线程池ExecutorService
。它运行平稳,但我需要能够检索其可回收价值。这怎么能做到?JavaFX:使用执行程序在线程池中运行时任务的可返回值
样品的编号:
ExecutorService threadPool = Executors.newCachedThreadPool(runnableTask -> {
Thread thread = new Thread(runnableTask);
thread.setDaemon(true);
return thread;
});
Button btn = new Button("Run Task");
btn.setOnAction(actionEvent -> {
try {
Object get = threadPool.submit(new Task<String>() {
@Override
protected String call() throws Exception {
//simulating long-running task
Thread.sleep(3_000);
//return result
return "Warren Nocos";
}
}).get();
System.out.println(get);
} catch (InterruptedException | ExecutionException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
}
});
的输出是零。