package com.java.demo01;
//测试礼让
// 礼让不一定成功,看cpu
public class testYield {
public static void main(String[] args) {
testYield1 t1 = new testYield1();
new Thread(t1,"a").start();
new Thread(t1,"b").start();
}
}
class testYield1 implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"线程执行");
Thread.yield();//礼让
System.out.println(Thread.currentThread().getName()+"线程执行");
}
}
线程强制执行
package com.java.demo01;
//线程强制执行
// 会阻塞线程
public class testJoin implements Runnable{
@Override
public void run() {
for (int i = 0; i <1000 ; i++) {
System.out.println("插队"+i);
}
}
public static void main(String[] args) throws InterruptedException{
// 插队线程
testJoin testJoin = new testJoin();
Thread thread = new Thread(testJoin);
thread.start();
for (int i = 0; i <500 ; i++) {
if (i==200){
thread.join();
}
System.out.println("main"+i);
}
}
}