-1

我是 .net 线程的新手,很难找到可以使用的好例子。我在这里读文章。托管线程最佳实践但我仍然不清楚。现在我有一个程序,我试图让两个线程同时运行但做不同的事情。我有一个线程在做它应该做的事情,但是当我启动我的第二个线程(我将其命名为 PrintThread)时,我有 PrintThread 和 Main Thread 运行相同的代码行,我是否应该查看 syncLock 语句以避免这种情况?

4

1 回答 1

1

无法评估表达式,因为我们停在无法进行垃圾收集的地方

这只是一个调试器诊断,告诉你它不能显示监视表达式。当您使用 Debug + Break All 闯入调试器时,您很容易遇到此问题。

一般来说,是的,当两个或多个线程运行相同的代码时,调试代码会非常困难。断点不再有效,因为每个线程都会命中它们。除了使用单元测试(推荐!)之外,一种可能的解决方案是使用 Debug + Windows + Threads。您将看到此窗口中列出的活动线程。您可以右键单击它们并选择“冻结”。这会冻结线程,直到您再次“解冻”它。这使您可以只专注于调试一个线程。

于 2012-11-09T15:03:48.547 回答