synchronized 锁的范围
- 对于普通同步方法,锁是当前实例对象
- 对于静态同步方法,锁是当前类的class对象
-
对于同步方法块,锁是Synchonized 括号里配置的对象
关于锁的互斥问题
一般来说同时去获取同一个资源才会出现互斥,就是所谓多个线程去争取一个共享资源,只有一个线程能够持有这个共享资源。
synchronized实现锁的原理
synchronized 的优化(1.6之后)
- 自适应自旋锁
- 引入偏向锁、轻量级锁
- 锁消除、锁粗化
对于同步方法块,锁是Synchonized 括号里配置的对象
一般来说同时去获取同一个资源才会出现互斥,就是所谓多个线程去争取一个共享资源,只有一个线程能够持有这个共享资源。