我正在编写一款与一个庞杂的第三方系统通过复杂的API进行交互的应用程序。
有时候系统内部会出现一些错误,但如果等到我的程序面对这些错误时,可能已经太晚了。
因此,我使用一个单独的线程来检查系统状态,如下所示:
while (true)
{
ask_state();
check_state();
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(1));
}
无论我是每100毫秒还是每分钟检查系统状态,都没有太大关系。
但我听说使用Thread.Sleep()是一种不好的做法。为什么?在这种情况下我应该怎么做呢?