本文介绍了objective-c:@synchronized,它是如何工作的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两种方法

-(void) a {
   @synchronized(self) {
      // critical section 1 
   }
}

-(void) b {
   @synchronized(self) {
      // critical section 2 
   }
}

现在我的问题是线程是否处于关键部分1将关键部分2锁定为其他线程或其他线程可以访问关键部分2.

now my question is if a thread is in critical section 1. will the critical section 2 be locked for other threads or other threads can access critical section 2.

推荐答案

关键部分2将是也被阻止到其他线程,因为你正在同一个对象上同步( self )。

Critical section 2 will be blocked to other threads, as well, since you're synchronizing on the same object (self).

这篇关于objective-c:@synchronized,它是如何工作的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-24 16:11