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创建的线程,当线程入口函数执行完后,线程自己会关闭吗?
小解_beginthreadex与_beginthreadex和CreateThread的区别