要安全地发布一个对象,对象的引用以及对象的状态必须同时对其他线程可见。一个正确构造的对象可以通过以下方式来安全地发布:
1.在静态初始化函数中初始化一个对象引用,利用了JVN内部的同步机制。
2.将对象的引用保存到volatile类型的域或者AtomicReference对象中。
3.将对象的引用保存到某个正确构造对象的final类型域中。
4.将对象的引用保存到由一个锁保护的域中。
要安全地发布一个对象,对象的引用以及对象的状态必须同时对其他线程可见。一个正确构造的对象可以通过以下方式来安全地发布:
1.在静态初始化函数中初始化一个对象引用,利用了JVN内部的同步机制。
2.将对象的引用保存到volatile类型的域或者AtomicReference对象中。
3.将对象的引用保存到某个正确构造对象的final类型域中。
4.将对象的引用保存到由一个锁保护的域中。