并发编程第部分总结

并发编程第一部分总结
一、所有并发问题都可以归结为如何协调访问并发状态。可变状态越少,保证线程安全性就越容易。
二、尽量将域声明为final类型,除非它们的需要是可变的。
三、不可变对象天生是线程安全的。
    不可变对象极大地减轻了并发编程的压力,它们既简单而且安全,可以在没有锁或者防御性复制的情况下*地共享。
四、封装使管理复杂度更加可行。
    在对象中封装数据,让它们能够更加容易的保持不变;在对象中封装同步,使他们能够更加容易的遵守同步策略。
五、用锁来守护每一个可变变量。
六、对同一不变约束中的所有变量都树勇相同的锁。
七、在运行复合操作期间持有锁。
八、在非同步的多线程情况下,访问可变变量的程序是存在隐患的。
九、在设计过程中就考虑线程安全;或者在文档中明确说明它不是线程安全的。
十、文档化你的同步策略。