Java并发编程实战:第8章 应用线程池
1. 应用线程池
1.1 在任务与执行策略之间的隐性耦合
Executor 框架可以将任务的提交
与任务的执行
策略解耦开来。Executor 框架为制定和修改执行策略提供了相当大的灵活性,但并非所有的任务都能适用所有的执行策略。 有些类型的任 务需要明确地指定执行策略, 包括:
依赖性任务:简单来说就是,提交的
task
是需要依赖其它任务
的,task
就类似有某种枷锁一样,浑身不自在。- 大多数任务都是独立的,它们不依赖于其他任务的执行时序、 执行结果或其他效果。
- 当在线程池中执行独立的任务时, 可以随意地改变线程池的大小和配置,这些修改只会对执行性能产生影响。
- 如果提交给线程池的任务需要依赖其他的任务, 那么就隐含地给执行策略带来了约束, 此时必须小心地维持这些执行策略,以避免产生活跃性问题。