在iOS中联锁的操作?

iOS SDK中是否存在互锁(primefaces)操作?

我需要联锁增量\减量和互锁比较。

* 更新:*我的主要问题是等待几个主线程创build的NSThreads(主线程不能工作,而其他线程工作)。

我不知道该怎么做

您可以使用使用primefaces操作中描述的OSAtomicIncrement* / OSAtomicDecrement*操作。

更新: C11和C ++ 11下的语言级primefaces现在可用。

你可以简单地声明_Atomic(int) a;

更详细的介绍 。


primefaces操作及其文档可以在libkern/OSAtomic.hfind。 可以在man atomic下find概述。

同样,你很可能很快就会发现C11和C ++ 11语言/库的支持。

Objective-C为primefaces操作提供了关键字synchronized

 @synchronized(object) { // ... } 

如果您在属性声明中指定属性atomic ,则将使用这些同步块来合并setter和getter。

另外看看NSLockNSLocking协议。

您可以看看属性(ObjectiveC 2.0function)。

@property int atomicProperty;

事实上没有“primefaces”说明符,因为属性默认为primefaces。 他们可以被设置为“非primefaces”。

http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html

你也可能对@synchronized感兴趣。 或者这部分文档:

http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Multithreading/ThreadSafety/ThreadSafety.html