C++ 是Boost.Thread还是just::Thread?

C++ 是Boost.Thread还是just::Thread?,c++,multithreading,concurrency,c++-tr2,C++,Multithreading,Concurrency,C++ Tr2,我还不是Boost用户。不过,我正计划尽快进行研究。 然而,我很少关心Boost,以及将来可能与即将推出的C++0x发生的名称冲突或差异。(也许这不是一个真正的问题,但例如,我发现boost lambdas语法非常难看,boost_FOREACH攻击性十足,以及其他唯美的个人观点) 我对TR2非常感兴趣,它似乎是由图书馆和图书馆实现的。这两本书似乎都是由安东尼·威廉姆斯撰写和维护的 但是just::thread声称与TR2非常兼容 我想知道你们中是否有人会指示我使用其中一种。 线程不是免费的,但

我还不是Boost用户。不过,我正计划尽快进行研究。 然而,我很少关心Boost,以及将来可能与即将推出的C++0x发生的名称冲突或差异。(也许这不是一个真正的问题,但例如,我发现boost lambdas语法非常难看,boost_FOREACH攻击性十足,以及其他唯美的个人观点)

我对TR2非常感兴趣,它似乎是由图书馆和图书馆实现的。这两本书似乎都是由安东尼·威廉姆斯撰写和维护的

但是just::thread声称与TR2非常兼容

我想知道你们中是否有人会指示我使用其中一种。 线程不是免费的,但如果它真的像TR2一样,我很受诱惑


有什么想法吗?

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

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

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


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

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


在boost、just::thread和g++编译器中正确而明智地使用可用的名称空间时,名称冲突不应该是一个问题。我在使用C++OxG++特性的just::thread时没有问题;事实上,just::thread建议使用这些功能,例如可变模板。

此时最好给出建议-以上都没有:-)

除非您有绝对迫切的需要,否则您只需等待C++0x首先解决问题即可节省大量时间和悲伤,这需要大约2年的时间。如果有人要求您去追逐移动目标,请先查看资金:-)和一大笔定金:-)

像在许多其他情况下一样,最好先问问自己“我的实际需求是什么”?如果是学习多线程开发,那么花时间在C#或Java上会容易得多。如果您需要开始开发生产级系统,那么您已经知道您的目标平台,您所能做的最好的事情就是在您的目标平台上坚持使用fire lib尝试的多线程,并且具有完全的调试器支持。重复一次——完整的调试器支持和集成是决定线程领域生活质量的因素


如果您触摸Boost,请确保您有足够的时间来确保它不依赖于十几个其他Boost文件,然后是另外十几个。。。除非你是肯定的,也就是说:-)如果你触摸一个库,tht声称自动去锁检测要准备好支付CPU周期,并处理潜在的不必要干扰。

你所说的“boost库(1.43)明显与前两个不兼容”是什么意思。你在说什么样的兼容性?@Stephane:“我为just::thread和g++编译器编写的代码是100%兼容的”;代码兼容,即编写的代码在C++Ox下为just::thread成功编译和链接时,只需使用C++Ox g++4.5即可成功编译和链接,无需修改。我还不能实现与boost库的兼容性。@thanx Sam。我仍在犹豫,但这对于just::thread来说是一个很好的观点。