发送终止指令+响应终止指令
Worker-Thread模式:避免重复创建线程
为不同的任务创建不同的线程池,任务相互之间有依赖可能导致线程死锁
Thread-Per-Message:最简单实用的分工方法
为每个任务分配一个独立的线程
Balking模式:线程安全的单例模式
Guarded Suspension 模式会等待if条件为真,而 Balking模式不会等待
Guarded-Suspension模式:等待唤醒机制的规范实现
多线程版本的if
线程本地存储模式:没有共享就没有伤害
线程本地存储是解决并发问题的常用方案(另一种解决并发问题的方案是局部变量),Java SDK也提供了相应的实现:ThreadLocal。
Copy-on-Write模式:不是延时策略的COW
写时复制,适合读多写少场景
Immutability模式:利用不变性解决并发问题
不可变:类、属性都是final,方法是只读的
并发工具类总结
并发工具类使用中的细节问题与最佳实践
Fork/Join:单机版的MapReduce
分治任务模型