java中synchronized函数锁,锁的是什么?

怎么理解 同步的锁对象是当前对象
2025-04-06 00:34:06
推荐回答(1个)
回答1:

修饰方法就代表锁的是此方法体,如 public synchronized int cal(){...} 表示每次访问此方法都只能一个线程访问,其他的要等待访问完了才能进入此方法,这是竞争锁,synchronized(obj)锁的是obj,代表只有获取了此obj锁,才能继续访问,更高级的推荐使用Lock或ReentrainLock。