本质就是看抢占的是不是同一个资源。
用来实现线程同步,让多个线程排队一次获取某个资源,保证数据不会出错。
synchronized到底锁定的是什么元素?
synchronized有两种使用方式,一种是修饰方法,一种是修饰代码块
- 修饰方法
- 静态方法 锁定的是类
- 非静态方法 锁定的是方法的调用者(也就是对象)
本质就是看抢占的是不是同一个资源。
用来实现线程同步,让多个线程排队一次获取某个资源,保证数据不会出错。
synchronized到底锁定的是什么元素?
synchronized有两种使用方式,一种是修饰方法,一种是修饰代码块