最终与挥发性担保 w.rt 到对象的安全发布
2022-09-01 16:11:32
摘自《Java并发实践》一书:
若要安全地发布对象,必须同时使对该对象的引用和该对象的状态对其他线程可见。正确构造的对象可以通过以下方式安全地发布:
从静态初始值设定项初始化对象引用
将对它的引用存储到易失性字段或原子引用中
将对它的引用存储到正确构造的对象的最终字段中
将对它的引用存储到由
锁正确保护的字段中。
我的问题是:
- 项目符号 2 和 3 之间有什么区别?我对方法和方法在对象的安全发布方面的区别感兴趣。
volatile
final
- 他在第3点中正确构造的对象的最终场是什么意思?在开始项目符号点之前,作者已经提到他们正在谈论一个正确构造的对象(我假设这是不让引用转义)。但是,他们又一次提到正确构造的对象呢?
this