Java并发编程实战:第1-5章 总结
- 所有并发问题都归结为如何协调访问并发状态,可变状态越少,保证线程安全就越容易。
- 尽量将域声明为 final 类型,除非它们的需要是可变的。
- 不可变对象极大地减轻了并发编程的压力.它们简单而且安金,可以在没有锁或者防御性复制的情况下自由地共享。
- 封装使管理复杂度变得更可行。
- 用锁来守护每一个可变变量。对同一不变约束中的所有变量,都使用相同的锁。
- 在运行复合操作期间持有锁。
- 在非同步的多线程情况下,访问可变变量的程序是存在隐患的。
- 在设计过程中就考虑线程安全。或者在文档中明确地说明它不是线程安全的(文档化)
Java并发编程实战:第1-5章 总结