顺序并在一个线程中运行时差c ++ [关闭]

Posted

技术标签:

【中文标题】顺序并在一个线程中运行时差c ++ [关闭]【英文标题】:Sequential and running in one thread time difference c++ [closed] 【发布时间】:2012-07-12 00:01:39 【问题描述】:

这是我在 C++ 中测试多线程性能的源代码。请告诉我为什么一个线程运行(WaitForMultipleObject())的时间比第一个顺序性能要小约 5 倍。我期望顺序性能和仅使用一个线程运行的结果几乎相同。谢谢

http://pastebin.com/EeJ5qW03

【问题讨论】:

请用正确的英文重写你的问题:我听不懂你在问什么。 【参考方案1】:

操作系统会决定你的线程什么时候开始运行,它也会决定是否需要调度。除此之外,它还必须为您的线程创建一个单独的堆栈,也许。

了解线程创建的开销。总而言之,开销是系统特定的。

【讨论】:

是的,基本上你的问题规模不够大,无法从多线程中受益,实际上需要更长的时间

以上是关于顺序并在一个线程中运行时差c ++ [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

应用未在 iO 中运行时的本地区域识别

cudaGraph:多线程流捕获仅在 cuda-memcheck 中运行时才会导致错误

在 .NET 中运行时生成文件的 T4 替代方案

C语言中运行时怎么一闪就过去了,看不到运行界面啊

在 MFC 中运行时更改编辑框属性

批量 kill mysql 中运行时间长的sql