iOS SDK中是否存在互锁(原子)操作?
我需要互锁增量\递减和互锁比较。
*UPDATE:*我的主要问题是等待由主线程创建的少量NSThreads (主线程不能工作,而其他线程则不能工作)。
我不知道怎么做。
发布于 2011-02-01 13:17:52
您可以使用OSAtomicIncrement*
/OSAtomicDecrement*
操作(在使用原子运算中描述)。
发布于 2011-02-01 13:14:49
更新:语言级原子在C11和C++11下已经可用。
您可以简单地声明_Atomic(int) a;
。
更详细的介绍。
原子操作及其文档可以在libkern/OSAtomic.h
中找到。概述可以在man atomic
下面找到。
同样,您可能很快就会发现C11和C++11语言/库支持。
发布于 2011-02-01 12:21:04
Objective具有用于原子操作的关键字同步。
@synchronized(object) {
// ...
}
如果在属性声明中指定属性原子,则将使用这些同步块对setter和getter进行综合。
还可以看看NSLock
和NSLocking
协议。
https://stackoverflow.com/questions/4862308
复制相似问题