深入理解JVM13-线程安全与锁优化

深入理解JVM-线程安全与锁优化

按照安全程度我们将java语言中各种操作共享的数据分为5种。

  • 不可变
  • 绝对线程安全
  • 相对线程安全
  • 线程兼容
  • 线程对立

线程安全的实现方法

互斥同步

非阻塞同步

锁优化

锁优化技术

  • 适应性自旋

自选等待不能代替阻塞。先不说对处理器数量的要求,自旋等待本身虽然避免了线程切换的开销,但是占用处理器时间。所以如果所被占用时间很多。效果较好。如果时间很长,就会白白量费处理器资源。因此自选等待要有一定的程度。如果自选超过了限定的次数仍没有获取锁。就应该使用传统的方式去挂起线程。

  • 锁消除
  • 锁粗化
  • 轻量级锁
  • 偏向锁
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容