【发布时间】:2023-03-23 02:24:02
【问题描述】:
我正在审查创建大量线程的代码。 CreateThread documentation on Windows 表示所有线程创建调用都在进程内序列化。为了估计此类代码的性能影响,我想知道 CreateThread 需要多长时间才能运行?我知道这取决于已加载到进程中的 DLL 数量,但想知道一个大概的值。
谢谢!
【问题讨论】:
标签: performance winapi multithreading
我正在审查创建大量线程的代码。 CreateThread documentation on Windows 表示所有线程创建调用都在进程内序列化。为了估计此类代码的性能影响,我想知道 CreateThread 需要多长时间才能运行?我知道这取决于已加载到进程中的 DLL 数量,但想知道一个大概的值。
谢谢!
【问题讨论】:
标签: performance winapi multithreading
您最好的选择可能是编写一个单元测试,看看您的应用程序需要多长时间。
但是,如果您需要大量线程,那么当您的程序启动时,在初始化时,您可以生成一个刚刚开始填充线程数组的线程,这样您就可以完成应用程序的设置并且线程将在需要时准备就绪。
如果我提供笔记本电脑上的数字,它会因操作系统、处理器、内存以及 .net 版本而异,因此数字充其量只是非常粗略。
【讨论】: