gpt4 book ai didi

.net - 使用多线程加速.NET反射

转载 作者:行者123 更新时间:2023-12-03 12:51:02 25 4
gpt4 key购买 nike

我的PC具有双核CPU,我想知道-如果我开始在两个线程中进行处理,是否可以将.NET反射时间减少两个。

“处理”指的是:

1.加载组件
2.从中获取所有类型(.GetTypes())
3,处理这些类型
4.查询这些类型的方法
等等。

如果是,那么最佳的(性能方面)策略是什么:

  • 在一个线程中加载所有程序集,然后在两个并发线程中处理metainfo
  • 在其自己的线程
  • 中加载和处理每个程序集

    最佳答案

    有几件事要牢记:

  • 启动新线程的开销很大,因此,如果任务生命周期短,则开销可能会过高。通过使用线程池而不是启动自己的线程,线程池将确保最大程度地重用线程。但是,使用当前的线程池实现,在短时间内启动许多任务并不能获得最佳结果。
  • 由于您的特定任务涉及一些I/O,因此可能会成为操作中最昂贵的部分。 fork 多个线程以等待I/O可能不会产生更好的性能。在测量之前,您无法真正分辨出来。
  • 如果要将数据存储在共享存储库中或输出到文件/屏幕,则必须进行同步。这显然减少了并发性。
  • 关于.net - 使用多线程加速.NET反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/818756/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com