【发布时间】:2016-06-28 07:51:46
【问题描述】:
尝试微调/优化我的 C# 应用程序。一直在运行 PerfMon,我在某些操作上始终获得 100% 的峰值。我可以从 PerfMon 中获取线程实例号,但是在调试时从 Visual Studio 2015 的线程窗口,我如何知道哪个线程是对应的?
还是我走错了路?我想找出不时增加 CPU 使用率的线程的身份。在此先感谢!
【问题讨论】:
-
好吧,你肯定走错路了。让核心保持忙碌并在尽可能短的时间内完成的线程永远不会有任何问题。您应该更加关注那些似乎没有做任何有用的其他线程。使用调试器很容易看到。并且毫不犹豫地使用the right tool。
-
如上所述,100% 的 CPU 使用率并没有什么问题。即使是工作时间超过 1-2 秒的简单循环也将获得 100% 的使用率。最大的区别在于循环是进行一些计算还是只是在串行端口上等待字节(例如)而不休眠。
-
谢谢大家。我花了一整天时间玩 Process Explorer。接下来将启动并发可视化器。感谢您为我指明正确的方向。拥有正确的工具绝对重要。 @HansPassant
标签: c# multithreading performance visual-studio perfmon