原文地址:http://blog.csdn.net/cq361106306/article/details/38736551
synchronized--同步
顾名思义是用于同步互斥的作用的。
这里精简的记一下它的使用方法以及意义:
- 当synchronized修饰?this或者非静态方法或者是一个实例的时候,所同步的锁是加在this或者实例对象引用上面的。比如a,b同为Main类的实例化对象,a调用被同步的方法,和b调用被同步的方法,没有形成互斥。但是不同线程的a对象调用被同步的方法就被互斥了。
public synchronized void AMethod() { ????????// ... } ? public void BMethod() { ????synchronized (this) { ????????????// ... ????} } |
?
- 与1不同,当synchronized修饰类名.class?或者静态方法的时候. 就算是不同对象,也会形成互斥
public synchronized static void method1() { ????// ... } ? public ????synchronized (Test.class) { ???? // ... ????} } |
时间: 2024-11-23 03:35:56