线程安全-- synchronized

synchronized 锁的范围

  • 对于普通同步方法,锁是当前实例对象
  • 对于静态同步方法,锁是当前类的class对象
  • 对于同步方法块,锁是Synchonized 括号里配置的对象


    image.png

关于锁的互斥问题

一般来说同时去获取同一个资源才会出现互斥,就是所谓多个线程去争取一个共享资源,只有一个线程能够持有这个共享资源。

synchronized实现锁的原理

image.png

synchronized 的优化(1.6之后)

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

推荐阅读更多精彩内容