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]