高并发编程04 ~ 发布对象

在日常的代码编写中,有很多地方都是意想不到的存在线程安全问题,那么发布对象就是其中一种。

一、相关概念

  1. 发布对象:使一个对象能够被当前范围之外的代码锁访问;
  2. 对象逸出:当一个对象还没有构造完成,其他线程就可以访问;是一种错误的对象发布;

二、安全发布对象

  1. 在静态初始化函数中初始化一个对象的引用;
  2. 将对象的引用用volatile修饰或者保存到AtomicReference对象中;
  3. 将对象的引用保存到某个正确构造对象的final类型代码块中;
  4. 将代码的引用保存到一个由各种锁保护的代码块中;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容