【发布时间】:2014-04-06 09:31:20
【问题描述】:
synchronized(foo){
//code
}
假设另一个线程使用另一个代码块来访问这个 foo 对象。那么会发生什么?
如果锁在 foo 对象上,那么即使不在这个临界区的代码也不能访问 foo 对象。
如果锁在这个代码块上,那么只有两个线程不能同时运行这个代码块。但是 foo 对象仍然可以通过使用另一个代码块来访问。
锁定对象或锁定代码,什么是真的?
【问题讨论】:
标签: java multithreading