4.5 小结

本章通过介绍两个例子探索了执行器的高级特性。在第一个例子中,延用了第3章中客户端/服务器的例子。通过扩展ThreadPoolExecutor类实现了自己的执行器,以便按照优先级执行任务,并且度量每个用户任务的执行时间。此外,还引入了一种新的命令支持任务的撤销。

在第二个例子中,解释了如何使用ScheduledThreadPoolExecutor类执行周期性任务。实现了两个版本的新闻阅读器。第一个版本展示了如何使用ScheduledExecutorService的基本功能,第二个版本展示了如何覆盖ScheduledExecutorService类的行为,例如改变任务两次执行之间的延迟时间。

下一章将学习如何执行返回结果的Executor任务。如果扩展Thread类或者实现Runnable接口,run()方法并不会返回任何结果,但是包含了Callable接口的执行器框架则允许实现返回结果的任务。