首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSCondition vs信号量,什么是更客观的C-ish?

NSCondition vs信号量,什么是更客观的C-ish?
EN

Stack Overflow用户
提问于 2012-12-04 02:32:41
回答 2查看 1.7K关注 0票数 1

我非常确定我理解NSCondition和信号量之间的区别(来自c)。哪一个是苹果开发人员,尤其是iPhone开发人员更常用的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-04 02:35:15

根据我的经验,“都不是”。无论出于什么原因,信号量的使用对于受欢迎程度的竞争来说并不是很普遍。

不过,我是dispatch_semaphore的铁杆粉丝。非常巧妙的实现。

票数 7
EN

Stack Overflow用户

发布于 2012-12-04 03:11:15

肯定是dispatch_semaphore

同步对资源的并发访问的一种方法是避免锁定或在可能的情况下使用@syncronize,并使用队列、串行或并发(ios5 >)

如果多个线程需要访问一个共享资源,它们可以分派到一个公共的串行队列。通过以这种方式访问资源,我们避免了没有内核陷阱的并发访问。

可以使用并发队列(我认为在wwdc11视频中显示了这一点),例如,当多个线程可以同时访问一个资源进行读取时,但我们需要一个同步点来进行写入。这可以使用屏障轻松地实现:写入的线程将等待所有读取器完成,将独占地在并发队列上写入资源,之后,并发读取器可以访问资源。

我认为这是一个用objc方式进行多线程的很好的资源https://developer.apple.com/library/mac/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008091

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

https://stackoverflow.com/questions/13689467

复制
相关文章

相似问题

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