none
sleep 无法暂停线程? RRS feed

  • 问题

  • S 类

    public class S
    {
        public static void Stop(long s)
        {
            Thread.Sleep(new TimeSpan(s));
        }
    }

    webpage 页面  A.cshtml

    @{
        string st = DateTime.Now.ToString();
        //System.Threading.Thread.Sleep(10000);
        S.Stop(90000);
        string et = DateTime.Now.ToString();
        Response.Write(st + "<br>" + et + "<br>" );
    }
    如果使用S类的Stop方法输出的时间是一样的, 但如果直接实用注释掉的语句, 得到的时间就不样, 这是为什么?

    2014年8月8日 3:27

答案

  • 问题出在

    new TimeSpan(s)

    //public TimeSpan(long ticks);

    注意此构造函数的参数是ticks,不是毫秒。1毫秒=10000 ticks

    S.Stop(90000); // 其实只sleep了9毫秒。
    2014年8月8日 12:52

全部回复