菜鸟教程小白 发表于 2022-12-13 06:54:28

ios - 在具有返回值的方法中使用 @synchronized


                                            <p><p>如果我在一个方法中使用@synchronized指令,并且该方法有一个返回值BOOL或NSString,我应该使用哪个?</p>

<pre><code>@synchronized(self){
    if (!) {
      *source = nil;
      return YES;
    }


}
return NO;
</code></pre>

<p>=== 或 ====</p>

<pre><code>@synchronized(self){
    if (!) {
      *source = nil;
      return YES;
    }

    return NO;
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在您发布的代码中,由于返回值不会受到试图同时访问同步代码的两个线程的影响,因此两者都可以工作。</p>

<p>如果返回值可能受到另一个线程的影响,您会希望 <code>return</code> 在同步块(synchronized block)中。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在具有返回值的方法中使用 @synchronized,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22461571/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22461571/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在具有返回值的方法中使用 @synchronized