我正在编写一个应用程序,它通过一个复杂的 API 与一个又大又丑的第 3 方系统一起工作。有时系统中会发生一些错误,但如果我们等待我的程序面对这些错误,可能为时已晚。
因此,我使用一个单独的线程来检查系统状态,如下所示:
while (true)
{
ask_state();
check_state();
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(1));
}
如果我每 100 毫秒或每分钟检查一次系统状态并不重要。
但我听说使用 Thread.Sleep() 是一种不好的做法。为什么?在这种情况下我能做什么?