Java并发编程实践笔记

1

只有状态可变的 共享的数据要求同步

因此,不共享 则不用同步

 

两种方式不共享(成为线程封闭):

1 栈封闭 2 ThreadLocal

 

同样,不可变,也不用同步

(设置为状态不可变对象。状态变时,用新对象指向引用

常见做法:

封装一个不可变对象,然后用volatile引用它

 

2 安全发布

不要在构造函数里start一个线程(因为内部类含有外部类引用。在外部类构造完整之前就被发布)

 

你可能感兴趣的:(java,编程)