yield,可以使线程放手一下CPU。然后再抓!放一下手,就可以让后面的线程先上了CPU。
例子:
public class TestYield {
<wbr> public static void main(String[] args) {<br><wbr><wbr><wbr> MyThread3 t1 = new MyThread3("t1");<br><wbr><wbr><wbr> MyThread3 t2 = new MyThread3("t2");<br><wbr><wbr><wbr> t1.start(); t2.start();<br><wbr> }<br> }<br> class MyThread3 extends Thread {<br><wbr> MyThread3(String s){super(s);}<br><wbr> public void run(){<br><wbr><wbr><wbr> for(int i =1;i<=100;i++){<br><wbr><wbr><wbr><wbr><wbr> System.out.println(getName()+": "+i);<br><wbr><wbr><wbr><wbr><wbr> if(i==0){<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> yield();<br><wbr><wbr><wbr><wbr><wbr> }<br><wbr><wbr><wbr> }<br><wbr> }<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
注:同一个RUN方法是可以被多个线程共用的!!也就是说多个线程可以跑同一个方法。
本文通过一个具体的Java示例程序介绍了线程中yield方法的作用及使用方式。yield方法能够使当前正在执行的线程放弃CPU时间片,让相同优先级的其他线程有机会获得执行。文中提供了一个包含两个线程的示例,演示了如何在一个线程内部使用yield方法来调节线程间的执行顺序。

5410

被折叠的 条评论
为什么被折叠?



