目前我有一个后台线程,可以进行定期繁重的数据管理。因为它只需要每隔几百毫秒运行一次进程,所以我在进程结束时调用Thread.Sleep()
,然后返回到循环的顶部并重复。
这一切都完美无缺,不会给其他软件造成任何悲伤或性能问题。唯一能让我感到烦恼的是,当我打破调试器而不是转到我的主线程当前位置时,它会被Thread.Sleep()
偷走并带我去那里。
有没有什么方法可以禁止调试器在该行上停止,或者是否可以选择让线程进入休眠状态?
提前致谢!
答案 0 :(得分:1)
您可以尝试的一件事是将Thread.Sleep()
放入方法中并在其上添加DebuggerStepThrough。
你也可以从“线程”窗口(Debug - > Windows - > Threads)中“冻结”你不想“窃取焦点”。还记得在完成后解冻它们
暂时使用计时器(有两个)或使用自动重置事件优先使用Thread.Sleep()
请参阅Is Sleep() evil?