标签:style blog io color ar java for sp on
今天回顾线程方面的知识,发现一个很有意思的小程序,是用来说明多线程的下面贴出来分享下,对初学者理解线程有很大的帮助
爸爸和儿子的故事
public class FatherThread extends Thread{
@Override
public void run() {
System.out.println("爸爸想抽烟,发现烟抽完了");
System.out.println("爸爸让儿子去买包红塔山");
Thread son = new SonThread();
son.start();
System.out.println("爸爸等儿子买烟回来");
try {
//join含义:等待son线程执行完毕,father线程才继续执行
son.join();
}
catch (InterruptedException e) {
System.out.println("爸爸出门去找儿子跑哪去了");
System.exit(1);
}
System.out.println("爸爸高兴的接过烟开始抽,并把零钱给了儿子");
}
}
public class SonThread extends Thread{
@Override
public void run() {
String tags ="\t\t\t\t\t";
System.out.println(tags+"儿子去买烟了");
System.out.println(tags+"儿子去买烟要10分钟");
try {
for(int i =0; i<10;){
Thread.sleep(1000);
System.out.println(tags+"儿子出去第"+ ++i +"分钟");
}
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(tags+"儿子去买烟回来了");
}
}public class Main {
public static void main(String[] args){
System.out.println("爸爸和儿子的故事");
Thread faThread =new FatherThread();
faThread.start();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}运行结果标签:style blog io color ar java for sp on
原文地址:http://blog.csdn.net/shaohx0518/article/details/40585813