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();
thread_fun()
{
prepare_word.....
while (1)
{
if (A is finish)
break;
else
sleep(0); //这里会交出B的时间片,下一次调度B的时候,接着执行这个循环
}
process A's data
}
thread_fun()
{
prepare_word.....
while (1) //这里会一直浪费CPU时间做死循环的轮询,无用功
{
if (A is finish)
break;
}
process A's data
}
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |