我正在阅读新的Intel Atom 330评测,其中他们指出任务管理器显示4个内核-两个物理内核,加上另外两个通过超线程模拟的内核。
假设您有一个有两个线程的程序。同时也假设这些是在PC上执行任何工作的唯一线程,其他所有内容都处于空闲状态。操作系统将两个线程放在同一个内核上的概率是多少?这对程序吞吐量有巨大的影响。
如果答案不是0%,除了创建更多线程之外,是否有任何缓解策略?
我预计Windows,Linux和Mac OS X会有不同的答案。
使用sk的回答作为Google搜索关键词,然后跟随链接,我发现了Windows中的GetLogicalProcessorInformation函数。它提到“共享资源的逻辑处理器。此类资源共享的示例将是超线程场景。”这意味着jalf是正确的,但这并不是一个明确的答案。
假设您有一个有两个线程的程序。同时也假设这些是在PC上执行任何工作的唯一线程,其他所有内容都处于空闲状态。操作系统将两个线程放在同一个内核上的概率是多少?这对程序吞吐量有巨大的影响。
如果答案不是0%,除了创建更多线程之外,是否有任何缓解策略?
我预计Windows,Linux和Mac OS X会有不同的答案。
使用sk的回答作为Google搜索关键词,然后跟随链接,我发现了Windows中的GetLogicalProcessorInformation函数。它提到“共享资源的逻辑处理器。此类资源共享的示例将是超线程场景。”这意味着jalf是正确的,但这并不是一个明确的答案。