CreateThread 执行需要多长时间?

Posted

技术标签:

【中文标题】CreateThread 执行需要多长时间?【英文标题】:How long does CreateThread take to execute? 【发布时间】:2009-11-10 02:39:30 【问题描述】:

我正在审查创建大量线程的代码。 CreateThread documentation on Windows 表示所有线程创建调用都在进程内序列化。为了估计此类代码的性能影响,我想知道 CreateThread 需要多长时间才能运行?我知道这取决于已加载到进程中的 DLL 数量,但想知道一个大概的值。

谢谢!

【问题讨论】:

【参考方案1】:

您最好的选择可能是编写一个单元测试,看看您的应用程序需要多长时间。

但是,如果您需要大量线程,那么当您的程序启动时,在初始化时,您可以生成一个刚刚开始填充线程数组的线程,这样您就可以完成应用程序的设置并且线程将在需要时准备就绪。

如果我提供笔记本电脑上的数字,它会因操作系统、处理器、内存以及 .net 版本而异,因此数字充其量只是非常粗略。

【讨论】:

+1 指出时间取决于很多因素。 大部分 DLL 的 DLLMain 都会被调用。天知道这些函数里有什么。

以上是关于CreateThread 执行需要多长时间?的主要内容,如果未能解决你的问题,请参考以下文章

VC++中通过CreateThread创建的线程,当线程入口函数执行完后,线程自己会关闭吗?

完成执行的作业从 dba_jobs 中删除需要多长时间?

小解_beginthreadex与_beginthreadex和CreateThread的区别

付款可执行多长时间?

[转]51430stm32周期和执行一条语句需要多长时间的问题

CreateThread 的 threadProc 竞争条件