我经常看到它提到Thread.Sleep();
不应使用,但我不明白为什么会这样。如果Thread.Sleep();
会引起麻烦,是否有其他相同结果的替代解决方案是安全的?
例如。
while(true)
{
doSomework();
i++;
Thread.Sleep(5000);
}
另一个是:
while (true)
{
string[] images = Directory.GetFiles(@"C:\Dir", "*.png");
foreach (string image in images)
{
this.Invoke(() => this.Enabled = true);
pictureBox1.Image = new Bitmap(image);
Thread.Sleep(1000);
}
}
goto:
,可能存在比更好的解决方案Sleep
。
goto
,后者更像是代码气味而不是设计气味。编译器goto
在代码中插入s并没有错:计算机不会感到困惑。但是Thread.Sleep
并不完全相同;编译器不会插入该调用,它还会带来其他负面影响。但是,是的,人们普遍认为使用它是错误的,因为几乎总有更好的解决方案肯定是正确的。
sleep()
输入代码(或测试)时,一只小狗都会死亡