Java中非static的synchronized方法和synchronized?
Java中非static的synchronized方法和synchronized(this)用的是一把锁,这也说明非静态方法中的synchronized(this)和synchronized关键字
是Java支持中同一把锁。
在Java中,synchronized是用来表示同步的,既可以用synchronized来修饰一个方法,也可以修饰方法里的语句块。
在static方法和非static方法前面加synchronized的区别在于
static的方法属于类方法,它属于Class类范畴,所以static获取到的锁,是属于类的锁。
非static方法获取到的锁,是属于当前对象的锁。
再回到问题它们是一把锁,synchronized是针对一个临界区的,临界区指访问这个地方最多只能在一个线程里面,
它在对象上加锁后进入临界区以此来达到临界区串行访问的目的。
希望可以帮到你!!!