根据synchronized的位置分为同步方法和同步快:
同步方法形如:
public synchronized void getValue(){
...
}
public synchronized void getValue(){
...
}
该处锁的对象是这个对象.
同步快形如:
public void getValue(){
synchronized (obj){
...
}
}
该处锁的对象是obj。
还有两外一种同步方法:
public synchronized static void getValue(){
...
}
该处锁的对象是class
锁可以实现对象、方法快的互斥访问。也会提高死锁的可能。