文章目录 为什么要并发挑战并发防御原则单一权责原则限制数据作用域使用数据复本线程应尽可能地独立 了解 Java 库了解执行模型生产者—消费者模型读者—作者模型宴席哲学家 警惕同步方法之间的依赖保持同步区域微小很难编写正确的关闭代码测试线程代码将伪失败看作可能的线程问题先使非线程代码可工作编写可插拔的线程代码编写可调整的线程代码运行多于处理器数量的线程在不同平台上运行装置试错代码硬编码自动化 todo 平时并发用的少 等系统学完并发使用 再回头补充这节 为什么要并发 挑战 并发防御原则 单一权责原则 限制数据作用域 使用数据复本 线程应尽可能地独立 了解 Java 库 了解执行模型 生产者—消费者模型 读者—作者模型 宴席哲学家 警惕同步方法之间的依赖 保持同步区域微小 很难编写正确的关闭代码 测试线程代码 将伪失败看作可能的线程问题 先使非线程代码可工作 编写可插拔的线程代码 编写可调整的线程代码 运行多于处理器数量的线程 在不同平台上运行 装置试错代码 硬编码 自动化