ExecutorService——<T> Future<T> submit(Callable<T> task)
接口长什么样?
Future future = executor.submit(task);
这个返回值是什么意思?
提交任务后,会立即返回一个Future对象,它是一个句柄,你可以根据这个Future对象跟踪任务的执行情况。
Future对象具体有哪些功能呢?
1.可以随时查看任务的完成情况 => future.isDone()
2.如果任务完成了,完成结果是什么 => future.get()
3.可以选择性地取消任务 => future.cancel()
所谓的提交任务是什么意思?为什么会立即返回?
提交任务其实就是将任务,放入线程池的待执行队列里面。放入队列并不需要多长时间,所以可以立即返回。
使用Future有什么好处?
可以让多个任务的执行时间重叠,减少总的执行时间。