首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问: Mac和GCD,在GCD中寻找rwlock等效项

问: Mac和GCD,在GCD中寻找rwlock等效项
EN

Stack Overflow用户
提问于 2016-07-18 19:25:18
回答 1查看 136关注 0票数 1

我正在维护一些在Windows和几个UNIX平台上运行的软件: Mac、Linux、AIX和Solaris。它在pthread或Win32线程之上实现了一个线程基础设施。我开始在这个基础设施中实现rwlock,以便我们的开发人员可以使用它们。到现在为止还好。

在Mac上,我们最初使用普通的pthread实现线程,但发现性能非常差,因为OS X的pthread互斥总是进行系统调用。Apple建议我们使用GCD分派信号量,这很好用,性能有了相当大的提高,因为如果信号量是空闲的,等待信号量是一个简单的用户空间操作。

但是,我看不到任何与rwlock等效的方法,而且就简单的信号量而言,这似乎是不可能的。我是否遗漏了什么,或者这实际上是不可能的?

注意:使用队列和块将所有内容都切换到GCD方法是不可行的。代码必须在没有GCD的平台上工作,并且在大约170个源文件中重写所有线程基础设施的用法是不切实际的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-19 17:48:51

我太傻了,应该先看看维基百科。有several ways可以做到这一点。这是一个标准的计算机科学问题:不是完全微不足道的,但很容易理解。

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

https://stackoverflow.com/questions/38435512

复制
相关文章

相似问题

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