Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能重复: Java 同步方法:锁定对象或类
请解释 Java 同步如何与静态方法一起工作?有人说它是由它的类对象完成的,但他们没有说锁是如何完成的。
您始终在监视器对象上进行同步。每个 Java 对象都可以在这里使用。
使用同步块,您可以直接指定该对象。
synchronized (something){ }
使用同步方法,它会在对象实例本身(on this)上同步,因此它等同于:
this
synchronized (this) { }
使用同步的静态方法,它在类对象上同步,就像“有人说过”一样。
synchronized (ThisClass.class){ }
机制始终相同:只有一个线程可以同时持有锁,其他线程必须等待。