我有两种方法
-(void) a {
@synchronized(self) {
// critical section 1
}
}
-(void) b {
@synchronized(self) {
// critical section 2
}
}
现在我的问题是,如果某个线程处于关键部分1,那么关键部分2是否会被其他线程锁定,或者其他线程可以访问关键部分2.
答案 0 :(得分:28)
关键部分2也将被阻止到其他线程,因为您正在同一个对象(self
)上进行同步。