【问题标题】:Is this what a synchronized method really is? [duplicate]这真的是同步方法吗? [复制]
【发布时间】:2016-03-09 06:23:04
【问题描述】:

可能是一个非常基本的问题,但我仍有疑问。 我的假设是否正确

public synchronized void doSynchronized() {
        for (int i = 0; i < 10000; i++) {
            count++;
        }
    }

完全一样:

public void doSynchronized() {
        synchronized (this) {
            for (int i = 0; i < 10000; i++) {
                count++;
            }
        }
    }

???

【问题讨论】:

  • 是的,两者都保持不变。
  • Java Language Specification §17.1 "synchronized 方法(第 8.4.3.6 节)自动 [..] 锁定与调用它的实例关联的监视器(即,在方法体执行期间将被称为this)"

标签: java multithreading synchronization


【解决方案1】:

是的。

此答案中的所有其他内容只是因为它必须至少有 30 个字符才能提交。

【讨论】:

  • @VirajNalawade,也许没有它应有的帮助,但它确实直接回答了所提出的问题,并且根本不评论这个问题。
  • @jameslarge 是的,对..对不起,我的错..
猜你喜欢
  • 1970-01-01
  • 2013-10-20
  • 2011-03-26
  • 2011-03-08
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
  • 2018-10-04
相关资源
最近更新 更多