我使用的是一个复杂的C代码,它通过posix线程具有并行支持。它是在超线程存在之前编写的。
我正在Macbook i5上运行代码(2核4线程)。由于代码有各种malloc错误,例如当强制在4个线程上运行时,但是在两个线程上运行是很好的,这让我产生了疑问:,您需要专门的编程来启用并行多线程代码来支持超线程吗?
因为我完全不了解p线程,所以我假设它将自动检测可用线程的数量并运行良好,而不是只在物理内核的数量中正确运行。
发布于 2012-12-30 17:51:57
不,在你的用户代码中你不需要特别的支持。操作系统为您隐藏了所有的差异。
如果当您增加线程数时,您的代码没有正确运行,那么您就有了一个bug。
https://stackoverflow.com/questions/14093045
复制相似问题