Java-会在函数块上同步访问实例属性吗



如果我有

class A {
public int a;
public synchronized void myMethod() {
Thread.sleep(1000) 
}
}

如果一个线程正在运行myMethoda属性是否会被阻止用于访问和修改该a实例上的其他线程?

简洁地回答您的问题:不,它不会阻止其他线程访问/修改属性。

详细回答:synchronized是Java线程机制的关键部分。这就是线程如何相互等待。您还应该看到Object.wait和Object.notive/.notifyAll.Synchronized是关于线程执行控制,而不是关于数据泄漏。

最新更新