一、主线程中的阻塞
package com.sxt.io2;
/*
主线程中的阻塞
*/
public class YieldDemo02 {
public static void main(String[] args) throws InterruptedException {
Thread t=new Thread(() -> {
for (int i = 0; i < 100; i++)
System.out.println("yield...." + i);
});
t.start();
for(int i=0;i<100;i++){
System.out.println("main..."+i);
if(i==20) {
t.join();
System.out.println("##########");
}
}
}
}
当i=20时,main...的线程被阻塞。
t.join();//表示t代表的线程先执行完成
二、父亲与儿子买烟的故事
package com.sxt.io2;
public class BlockedJoin01 {
public static void main(String[] args) {
new Father().start();
}
}
class Father extends Thread{
@Override
public void run() {
System.o