首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Boost.Thread还是::thread?

Boost.Thread还是::thread?
EN

Stack Overflow用户
提问于 2010-08-24 17:40:26
回答 3查看 1.7K关注 0票数 5

我还不是一个Boost用户。不过,我正计划尽快深入讨论这个问题。然而,我不太关心Boost,以及未来可能与即将推出的C++0x的名称冲突或差异。(也许这不是一个真正的问题,但例如,我发现boost lambdas语法相当丑陋,BOOST_FOREACH看起来很有攻击性,其他只是美观的个人观点)。

我对TR2非常感兴趣,它似乎是由库Boost.Threadjust::thread实现的。这两个似乎都是由Anthony Williams编写和维护的。

但just::thread声称与TR2紧密兼容。

我想知道你们中是否有人会建议我使用其中一种。just::thread不是免费的,但如果它真的像TR2一样,我很想这样做。

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-24 18:18:13

目前,我正在Linux上使用boost、just::thread库和所谓的“实验性”C++Ox特性进行试验,使用的是gcc g++ 4.5编译器。关于线程,我发现我为just::thread和g++编译器编写的代码是100%兼容的。boost库(1.43)与前两个库明显不兼容。但是,对于我的产品代码,我使用的是boost库。

对于boost、just::thread和g++编译器中可用名称空间的正确和明智使用,名称冲突应该不是问题。我可以将just::thread与C++Ox g++特性一起使用;实际上,just::thread推荐使用这些特性,比如可变模板。

票数 5
EN

Stack Overflow用户

发布于 2010-08-24 17:49:21

我认为现在说一个库“就像TR2”还为时过早。TR2将在 C++0x之后发布,而它本身还没有发布。

然而,Boost.Thread库也声称遵循标准化委员会的发展。

我更喜欢任何boost库而不是它的“原始”,因为Boost致力于高质量,Boost社区协作维护库,而不是恰好迁移到Boost的私有库。

您不必担心名称冲突,因为当前在boost::名称空间中的内容将保留在名称空间中,并且所有TR2内容可能都将流向std::tr2::

票数 4
EN

Stack Overflow用户

发布于 2010-08-25 06:27:57

此时最好的建议-以上都不是:-)

除非你有一个绝对迫切的需求,否则你会节省大量的时间和痛苦,只是等待C++0x第一次解决,这将需要大约两年的时间。如果有人要求你去追逐移动的目标-要求先看看钱:-)和一大笔定金:-))

就像在许多其他情况下一样,最好先问自己:“我的实际需求是什么?”如果它正在学习多线程开发,那么花时间使用C#或Java将会让您轻松得多。如果你需要开始开发一个生产级系统,那么你已经知道了你的目标平台,你能做的最好的就是坚持使用在你的目标平台上的多线程的试用库,并且有完整的调试器支持。再重复一遍-完全的调试器支持和集成是决定你在线程世界中生活质量的因素。

如果你触摸Boost,确保你有足够的时间来确保它不依赖于一打其他的boost文件,然后再依赖于另外一打...除非你是爱好者,否则:-)如果你触摸一个库,它声称自动解锁检测,准备好在CPU周期中付出代价,并处理潜在的不必要的干扰。

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

https://stackoverflow.com/questions/3555197

复制
相关文章

相似问题

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