刚刚在书上看到下面一段话。有些疑问想问下绝大多数的操作系统都运行Timeslicing,简单地说就是操作系统会为每个线程分配一小段CPU时间(Quantum),时间一到就换下一个线程,即使现有的线程还没有结束。对于不支持Timeslising的操作系统,每一个线程必须完成后才能轮到下一个线程。在这样的操作系统中,如果想要让目前线程礼让一下其他线程,让他们有机会取得执行权,可以调用线程执行的yield()方法。
那是不是意味着,在WINDWOS平台上yield()几乎是没什么大作用?
那是不是意味着,在WINDWOS平台上yield()几乎是没什么大作用?
所以说不是取决于平台是取决于采用社么机制
http://www.itpub.net/showthread.php?s=&threadid=691117这应该是最新且经典的书了...
当你对一个活动的线程调用yield()之后它就进入准备就绪状态,而如果当时有其他准备就绪的线程在
等待CPU运行时间的话就会开始执行那个线程;如果发现并没有需要CPU时间的线程在就会立刻回到原
线程的运行