我对执行者服务还很陌生。喜欢自己做所有事情,但我认为是时候相信这些服务了。
我想通过 Executer 传递一个 Runnable。执行者将其包装在 FutureTask 中并将其交还给我。现在我调用 poll done() 方法。但我希望在 done() 方法返回 true 时得到通知。
有一个 get() 方法会阻塞直到 Runnable 完成,但是之后我需要为每个作业添加一个额外的线程,只是为了查看它何时完成.
我可以给我的执行者一些额外的 Callable 以获得任务完成的通知吗?
到这里怎么走?我可以在 run 方法的末尾添加一些代码,但是 done() 可能仍然是 false...
最佳答案
执行器完成服务
http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/ExecutorCompletionService.html
关于java Callable FutureTask Excecuter : How to listen to finished task,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346927/