这不是更好的问题,只是有所不同。
同步方法时,实际上是在与对象本身进行同步。对于静态方法,您正在同步到对象的类。因此,以下两段代码以相同的方式执行:
public synchronized int getCount() { // ...}
就像您写的一样。
public int getCount() { synchronized (this) { // ... }}
如果要控制到特定对象的同步,或者只想将方法的 一部分
同步到该对象,则指定一个
synchronized块。如果
synchronized在方法声明上使用关键字,它将使整个方法与对象或类同步。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)