《Java并发编程实战》-5

《Java并发编程实战》-5

6.1.1 串行地执行renwu

6.1.2 显式地为任务创建线程

6.1.3 无限制创建线程的不足

  • 线程生命周期的开销非常高。
  • 资源消耗。
  • 稳定性。

6.2 Executir框架

6.2.1 示例:基于Executor的Web服务器

6.2.2 执行策略

每当看到new Thread(runnable).start()时,并且你希望获得一种更灵活的执行策略时,请考虑使用Excecutor来代替Thread。

6.2.3 线程池

  • newFixedThreadPool
  • newCachedTheadPool
  • newSingleThread
  • newScheduleThreadPool

6.2.4 Executor的声明周期

6.2.5 延迟任务与周期任务

6.3 找出可利用的并行性

6.3.1 示例:串行的页面渲染器

6.3.2 携带结果的任务Callable与Future

6.3.3 实例:使用Future实现页面渲染器

6.3.4 在异构任务并行化中存在的局限

6.3.6 实例:使用CompletionService实现页面渲染器

6.3.7 为任务设置时限

6.3.8 示例:旅行预订门户网站

小结

Executor框架将任务提交与执行策略解耦开来,同时还支持多种不同类型的执行策略。
要想将应用程序分解为不同的任务时获得最大的好处,必须定义清晰的任务边界。