首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS中的互锁操作?

iOS中的互锁操作?
EN

Stack Overflow用户
提问于 2011-02-01 12:03:30
回答 4查看 8.7K关注 0票数 12

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

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

*UPDATE:*我的主要问题是等待由主线程创建的少量NSThreads (主线程不能工作,而其他线程则不能工作)。

我不知道怎么做。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-01 13:17:52

您可以使用OSAtomicIncrement*/OSAtomicDecrement*操作(在使用原子运算中描述)。

票数 16
EN

Stack Overflow用户

发布于 2011-02-01 13:14:49

更新:语言级原子在C11和C++11下已经可用。

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

更详细的介绍

原子操作及其文档可以在libkern/OSAtomic.h中找到。概述可以在man atomic下面找到。

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

票数 2
EN

Stack Overflow用户

发布于 2011-02-01 12:21:04

Objective具有用于原子操作的关键字同步。

代码语言:javascript
运行
复制
@synchronized(object) {
    // ...
}

如果在属性声明中指定属性原子,则将使用这些同步块对setter和getter进行综合。

还可以看看NSLockNSLocking协议。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4862308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档