消息关闭
    暂无新消息!

关于synchronized锁的是什么的问题

问题作者 : Maloney2017-08-18发布
  这是进行死锁的一部分代码,我不太懂锁的o1,o2是什么东西,为什么可以锁他们

1个回答

︿ 0
你可以把o1, o2想象成一把钥匙, synchronize(o1), synchronize(o2) 想象成把钥匙插入锁孔锁死跟在他们后面由大括号组成的块{}

一个线程想要进入一个同步synchronized(){} 块,他必须先获得这个块需要的钥匙o1,如果这个块已经被其他线程锁死了,那这个线程必须等待其他线程开门出来,把钥匙还回来才可以得到这把唯一的钥匙进入同步块