文章目录
- synchronized关键字(一)修饰对象
- 一、 synchronized是什么?
- 二、修饰对象
- 三、注意事项
一、 synchronized是什么?参考文献:https://www.jb51.net/article/226912.htm
synchronized是Java中的关键字,是一种同步锁。
二、修饰对象1.synchronized(this){} 修饰一个代码块时,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;
2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;
3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;
4. 修改一个类,其作用的范围是synchronized后面括号括起来的部分,作用主的对象是这个类的所有对象。
-
无论synchronized关键字加在方法上还是对象上,如果它作用的对象是非静态的,则它取得的锁是对象;如果synchronized作用的对象是一个静态方法或一个类,则它取得的锁是对类,该类所有的对象同一把锁。
-
当一个线程访问对象的一个synchronized同步代码块(或synchronized同步方法)时,另一个线程仍然可以访问该对象中的非synchronized同步代码块(或synchronized同步方法)。



