我想更好地理解线程进入synchronized(this)
区块和synchronized(someObjectReference)
区块时实际发生的机制。同步(this)和同步(objectReference)之间的区别
synchronized (this) {
// Statement 1
// Statement 2
}
synchronized (someObjectReference) {
// Statement 1
// Statement 2
}
我的理解是:(?我失去的东西我错了)
- 在这两种情况下,只有1线程可以访问在时间
- 当我们synchronized块“再同步上
someObjectReference
:- 只有1个线程每次可以访问/修改它在此块
- 只有1个线程在同一时间可以进入这块
什么其他的机制是有吗?
synchronized (objectReference) {
// Statement 1 dealing with someObjectReference
// Statement 2 not dealing with someObjectReference
}
在上面的例子中,它使任何意义添加不处理mutex
入同步块语句?
不错,很清楚。谢谢 – JAM 2012-07-07 18:29:31