【JAVA并发编程实战】1、对象的共享

1、栈封闭

在栈封闭中,只能通过局部变量才能访问对象。

所谓栈封闭就是把变量的声明以及应用都局限在一个局部线程中,在这个局部线程中声明和实例化的对象对于线程外部是不可见的,这个局部线程的栈,无法被任何其他线程访问。

 

2、不变性

不可变对象一定是线程安全的

 

 

3、安全发布的常用模式

要安全发布一个对象,对象的引用以及对象的状态必须同时对其他线程可见。

1、在静态初始化函数中初始化一个对象的引用

2、将对象的引用保存到volatitle类型的域或者AtomicReferance对象中

3、将对象的引用保存到某个正确构造对象的final类型域中。

4、将对象的引用保存到一个由锁保护的域中。

 

posted @ 2016-10-23 18:15  cutter_point  阅读(377)  评论(1编辑  收藏  举报