首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于C++0x线程标准的参与者实现

基于C++0x线程标准的参与者实现
EN

Stack Overflow用户
提问于 2011-08-26 18:37:06
回答 1查看 1.2K关注 0票数 4

我有点失望地发现,C++0x并发标准似乎没有对消息传递的Actors模型的任何本地支持。

是否有任何支持这一点,我错过了?也许是期货/承诺?在C++0x线程标准之上构建一个事实上的标准实现是否有任何强大的社区努力?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-03 00:48:25

目前,我已经找到了两个可能的解决方案:塞隆利布卡。两者都是基于Boost线程的,因此应该很容易地移植到C++11线程。两者都是由个人发展的。

主要是因为我首先找到了它,而且因为它有非常好的文档,所以我继续尝试了Theron,它运行得很好。我的测试应用程序并不特别适合Actors,只需要与硬件内核一样多的Actor,但是我得到了大约4.5x的加速比,其中6个线程在6个内核上,6x加速在6个内核上,6个线程上有超线程。很好,它只花了几个小时就开始工作了,我根本不用碰线程或互斥。我还实现了一个版本,该版本产生了数千个参与者,并且运行良好,尽管它对此实现的速度要慢得多。

我发现的唯一缺点是,它不适用于进程间/机器间/分布式应用程序,而且它目前有点以Windows为中心(尽管我在Mac和Linux机器上使用它时没有太多麻烦)。

我也尝试了libcppa,并得到一个玩具的例子工作没有太多的麻烦。API似乎不太稳定,而且当时的文档很少,但我听说它最近得到了充实。

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

https://stackoverflow.com/questions/7209131

复制
相关文章

相似问题

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