【问题标题】:How long does CreateThread take to execute?CreateThread 执行需要多长时间?
【发布时间】:2023-03-23 02:24:02
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: performance winapi multithreading


    【解决方案1】:

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

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

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

    【讨论】:

    • +1 指出时间取决于很多因素。
    • 大部分 DLL 的 DLLMain 都会被调用。天知道这些函数里有什么。
    猜你喜欢
    • 2017-03-06
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 2011-03-14
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多