我刚接触.net并且很难找到我可以使用的好例子。 我在这里读文章。 Managed Threading Best Practices但我还不清楚。现在我有一个程序,我试图让两个线程同时运行,但做不同的事情。我有一个线程正在做它应该做的事情,但是当我启动我的第二个线程(我将其命名为PrintThread)时,我有PrintThread和主线程运行相同的代码行,我应该查看syncLock语句以避免这种情况吗?
答案 0 :(得分:1)
无法评估表达式,因为我们在无法收集垃圾的地方停止
这只是一个调试器诊断程序,告诉您它无法显示监视表达式。当您使用Debug + Break All进入调试器时,您很容易遇到此问题。
通常,当两个或多个线程运行相同的代码时,它可能完全难以调试代码。断点不再有效,因为每个线程都会遇到它们。除了使用单元测试(推荐!)之外,一种可能的解决方案是使用Debug + Windows + Threads。您将看到此窗口中列出的活动线程。您可以右键单击它们并选择“冻结”。冻结线程直到你再次“解冻”它。这使您可以专注于只调试一个线程。