Future 的作用
- 作为
ExecutorService.submit(Callable|Runnable)
的返回结果 - 得到了 Future,说明其相关的任务已经提交给线程池去执行了
- 获取任务的结果(阻塞):
Future.get()
- 取消任务:
Future.cancel()
- 查看任务是否完成:
Future.isDone()
如果线程池执行的任务没有返回结果,直接用 Runnable 就好了,不需要用 Callable (代码里加上无意义的返回语句有点奇怪),Callable 更多是任务执行后有结果返回。
1 | import java.util.concurrent.*; |