【发布时间】:2015-08-16 11:22:33
【问题描述】:
最近我使用 ThreadPoolExecutor 和 priorityqueue 并在未来的任务中遇到了 future.cancel() 两种方法。 并且 task.remove() 在它自己的任务上,将它从队列中删除。
什么是更好的选择?有什么区别吗?我可以保存两者的列表(从 submit() 接收的未来对象或任务本身),不知道该使用什么......
删除:
executor.remove(task);
executor.purge();
取消:
futureObject.cancel(false);
cancel中的false是因为我只想移除一个队列任务,如果运行了就让它结束。
【问题讨论】:
标签: java future threadpoolexecutor