【发布时间】: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