有没有合理的理由在生产代码中使用System.Threading.Thread.Sleep?

Jac*_*tti 1 asp.net performance multithreading

我正在做一些代码清理,我遇到了一些实例

System.Threading.Thread.Sleep(2000);
Run Code Online (Sandbox Code Playgroud)

这些都在Button Click事件中.

我想不出为什么这会出现在生产代码中?

我错过了什么吗?

编辑 -

完全代码块(有些东西改变了,但步骤是一样的) - 是的,我认为这样做太糟糕了哈哈

    protected void btnSubmit_Click(object sender, ImageClickEventArgs e)
{
    try
    {
        System.Threading.Thread.Sleep(2000);

        string guid = Profile.Auth.GUID;

        activity act = new activity();

        try
        {
            if (checkbox.Checked)
            {
                add.activity(true);

            }
            else
            {
                act.AddActivity(false)
            }

            LoadData();
        }
        catch (Exception ex)
        {
            Response.Write(ex);
        }
    }
    catch { }
}
Run Code Online (Sandbox Code Playgroud)

And*_*are 5

它看起来像加速循环的一个版本.这没有标准的原因 - 很可能有人正在补偿某种时间问题.


Guf*_*ffa 5

一个可能的原因是在显示某些结果之前进行短暂延迟.

与具有的问题Sleep在用户界面中的代码是用户界面变得无响应.如果你想要延迟,你会使用计时器控制.这是一项更多的工作,但最终用户体验更好.