Integer lock = new Integer(1);
线程一:
synchronized(lock){
lock++;
}
线程二:
synchronized(lock){
lock++;
}
当lock被修改后,lock指向的Integer对象发生了改变,锁发生了改变,两个同步代码块的锁不一样锁就失去作用就不会同步执行
Integer lock = new Integer(1);
线程一:
synchronized(lock){
lock++;
}
线程二:
synchronized(lock){
lock++;
}
当lock被修改后,lock指向的Integer对象发生了改变,锁发生了改变,两个同步代码块的锁不一样锁就失去作用就不会同步执行