2012-12-30 70 views
2

我正在使用一个复杂的C代码,通过posix线程并行支持。它是在超线程存在之前编写的。PThreads:内核vs线程

我在Macbook i5上运行代码(2个核心4线程)。由于代码具有各种malloc错误,当强制在4个线程上运行时,但在2个线程上运行良好,这让我产生了疑问:您是否需要专业编程来启用并行pthreaded代码以支持超线程?

由于我对pthreads一无所知,我认为它会自动检测可用线程的数量并且运行正常,而不仅仅是物理内核的数量正确运行。

回答

8

不,您不需要特别支持您的用户区代码。操作系统为你隐藏了所有的差异。

如果您的代码在增加线程数量时运行不正常,则会出现错误。

+0

谢谢你的回复。 – Protoplanet

+0

@Protoplanet,点击绿色标记,接受这个答案。 – arrowd