class son implements Runnable{
@Override
public void run() {
System.out.println ("儿子出门买烟");
System.out.println ("买烟需要十分钟");
for (int i = 0; i <10 ; i++) {
System.out.println ("第"+i+"分钟");
try {
Thread.sleep (1000);
} catch (InterruptedException e) {
e.printStackTrace ();
System.out.println ("儿子买烟回来了");
}
}
}
}
class father implements Runnable {
@Override
public void run() {
System.out.println ("爸爸抽烟,发现烟抽完了");
System.out.println ("爸爸让儿子去买烟");
System.out.println ("儿子买烟需要十分钟");
Thread t = new Thread (new son ());
t.start ();
System.out.println ("爸爸等待儿子买烟回来");
try {
t.join ();
} catch (InterruptedException e) {
e.printStackTrace ();
System.out.println ("爸爸出门找儿子");
System.exit (1);
}
System.out.println ("爸爸高兴的接过烟,并把零钱给了儿子");
}
}
public class TestJoinDemo {
public static void main(String[] args) {
Thread t=new Thread (new father ());
t.start ();
}
}