答案 0 :(得分:4)
Boost线程实际上是事实上的C ++线程标准。我建议至少要熟悉Boost线程API,因为它或多或少与即将推出的标准化C ++ 0x std::thread
相同。
答案 1 :(得分:1)
FWIW,我认为所有这些都不完全等同。
ACE,Boost,Poco和QT只是底层支持的线程平台的包装。在我看来,OpenMP尤其是TBB在更高的抽象级别上运行,并鼓励以不同的方式查看问题。
答案 2 :(得分:1)
我还会添加最近移植到iPhone上的POCO:
答案 3 :(得分:0)
qt具有多线程支持......
答案 4 :(得分:0)
您可以使用pthreads并实现自己的C ++包装器。这将是非常灵活和可移植的,您可以按照适合自己的方式定义C ++接口。但是,您可能需要付出更多努力。
答案 5 :(得分:0)
对于你的问题的第二部分:
将C ++集成到Objective-C中非常容易;我在我的应用程序中添加了一个C ++库,没有任何问题。您不使用任何特殊语法或任何东西。 Apple在Objective-C ++上有一些good info,但您必须已经了解Objective-C才能理解它。
警告:要制作iPhone应用,您 了解基本的Objective-C;这是控制界面的唯一方法,至少。
答案 6 :(得分:0)
Boost.Thread很棒..但不确定它是否可以在iPhone上运行。如果您要定位iPhone,则应该使用NSThread类,特别是其detatchNewThreadSelector函数,以便生成新线程。您可以使用performSelectorOnMainThread函数在UI事件线程中执行工作。
在iPhone上使用C ++的问题是iPhone目前不支持C ++异常(它支持Objective-C使用的“SJLJ”异常,但不支持标准C ++异常),这意味着任何C ++代码使用C ++异常处理将无法在iPhone上链接。