::Sleep(0)的使用
::Sleep(0)的使用
This function causes a thread to relinquish the remainder of its time slice and become unrunnable for an interval based on the value of dwMilliseconds.
这个函数造成一个线程放弃剩余的时间片并且停止运行取决于dwMilliseconds值的时间间隔。
“如果编写一个使用多线程在屏幕上绘图的应用程序,有策略地使用几个::Sleep(0)语句可以惊人地提高输出质量。假设您要设计4个对象的动画动作,给每个对象都分配了一个线程。如果只要简单地在一个循环中运行每个线程,让它得到它所能争取到的所有处理器时间,那么对象的运动就可能会很粗糙没有规则。但是,如果让每个线程都将分配给他的对象每次移动几个像素的距离,然后就调用::Sleep(0),那么动画的执行效果就会更加平滑。