关于Thread.Sleep(0)

Thread.Sleep(0) 表示挂起0毫秒,你可能觉得没作用,你要写Thread.Sleep(1000) 就有感觉了。似乎毫无意义。

MSDN的说明:指定零 (0) 以指示应挂起此线程以使其他等待线程能够执行。
Thread.Sleep(0) 并非是真的要线程挂起0毫秒,意义在于这次调用Thread.Sleep(0)的当前线程确实的被冻结了一下,让其他线程有机会优先执行。Thread.Sleep(0) 是你的线程暂时放弃cpu,也就是释放一些未用的时间片给其他线程或进程使用,就相当于一个让位动作。

  Thread th = new Thread(new ThreadStart(MainForm.StartSplash));
    th.Priority 
= ThreadPriority.AboveNormal;
   th.Start();
    Thread.Sleep(
0);

    
base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);
  
this.Initialize();


hobo 2009-11-19 20:26 发表评论
posted @ 2009-11-19 20:26  无业の游民  阅读(167)  评论(0编辑  收藏  举报