yield与sleep类似,只是不能指定暂停多长时间,并且只能让同优先级的线程有执行的机会,让位时间不固定。
/* yield使用 */ public class ThreadTest04 { public static void main(String[] args) throws Exception { Thread t1 = new Thread(new Processor()); t1.setName("t1"); t1.start(); //主线程 for(int i=0;i<100;i++){ System.out.println(Thread.currentThread().getName()+"--->"+i); } } } class Processor implements Runnable { public void run(){ for(int i=1;i<=100;i++){ System.out.println(Thread.currentThread().getName()+"--->"+i); if(i % 20 == 0){ Thread.yield(); } } } }