我正在使用一个复杂的 C 代码,它通过 posix 线程具有并行支持。它是在超线程存在之前编写的。
我在 Macbook i5(2 核 4 线程)上运行代码。由于代码在强制在 4 个线程上运行时存在各种 malloc 错误等,但在 2 个线程上很好,这让我产生了疑问:您是否需要专门的编程来启用并行 pthread 代码以支持超线程?
由于我对 pthreads 完全一无所知,我假设它会自动检测可用线程的数量并运行良好,而不是仅使用物理内核的数量正确运行。
我正在使用一个复杂的 C 代码,它通过 posix 线程具有并行支持。它是在超线程存在之前编写的。
我在 Macbook i5(2 核 4 线程)上运行代码。由于代码在强制在 4 个线程上运行时存在各种 malloc 错误等,但在 2 个线程上很好,这让我产生了疑问:您是否需要专门的编程来启用并行 pthread 代码以支持超线程?
由于我对 pthreads 完全一无所知,我假设它会自动检测可用线程的数量并运行良好,而不是仅使用物理内核的数量正确运行。