【发布时间】:2013-04-23 20:14:42
【问题描述】:
我使用 (HANDLE)_beginthreadex() 创建了一个 C++ Windows 控制台应用程序,其中 1000 个工作线程使用 x 处理程序线程进行控制。
最初我认为 1000 个处理程序线程会导致最快的时间,但经过测试我发现使用 100 个处理程序线程会导致最快的时间。 测试在四核intel i7处理器(支持超线程)上进行
我不确定要写什么,因为我的推理是为什么线程数会导致最佳性能。由于我的处理器只能同时处理 8 个线程,我会认为 8 会是最好的性能。
我正在写一份关于应用程序的小报告,我必须确定导致最佳性能的线程数并解释为什么会这样。
【问题讨论】:
-
在这个答案stackoverflow.com/questions/12124586/… 中值得注意的是,当这些线程的百分比实际上分布在不同的内核上时,您还没有测试它是如何...
标签: c++ multithreading