爸爸和儿子的故事带你理解java线程
来源:互联网 发布:mac上的dj软件 编辑:程序博客网 时间:2024/04/27 16:34
今天回顾线程方面的知识,发现一个很有意思的小程序,是用来说明多线程的下面贴出来分享下,对初学者理解线程有很大的帮助
爸爸和儿子的故事
<span style="font-family:KaiTi_GB2312;font-size:18px;">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("爸爸高兴的接过烟开始抽,并把零钱给了儿子"); } } </span>
<span style="font-family:KaiTi_GB2312;font-size:18px;">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+"儿子去买烟回来了"); } } </span>
<span style="font-family:KaiTi_GB2312;font-size:18px;">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(); } } } </span>
运行结果
爸爸和儿子的故事
爸爸想抽烟,发现烟抽完了
爸爸让儿子去买包红塔山
爸爸等儿子买烟回来
儿子去买烟了
儿子去买烟要10分钟
儿子出去第1分钟
儿子出去第2分钟
儿子出去第3分钟
儿子出去第4分钟
儿子出去第5分钟
儿子出去第6分钟
儿子出去第7分钟
儿子出去第8分钟
儿子出去第9分钟
儿子出去第10分钟
儿子去买烟回来了
爸爸高兴的接过烟开始抽,并把零钱给了儿子
程序进入主函数,首先father线程开始执行。爸爸让儿子去买烟,然后等待儿子买烟回来,这时son线程启动10分钟后儿子回来fathrer线程继续执行。
8 0
- 爸爸和儿子的故事带你理解java线程
- 爸爸和儿子的故事带你理解java线程
- 儿子,你是爸爸的好孩子
- 爸爸和儿子
- 爸爸儿子和狗狗
- 爸爸和儿子的对话!佩服!值得存五十年!
- 一个故事帮你理解线程和线程池
- 一个故事让你理解线程和线程池
- 一个故事帮你理解线程和线程池
- 爸爸,儿子祝你早日康复
- java同步和互斥的应用:生产者消费者之爸爸妈妈儿子女儿苹果橘子编程实现
- 一个父亲和儿子的故事 并查集相关内容
- 看到一个理解进程和线程的故事
- 以故事的方式让你理解Java(一)
- 以故事的方式让你理解Java(二)
- 以故事的方式让你理解Java(二)
- 以故事的方式让你理解Java(一)
- 和你的故事
- apue 第十三章 守护进程
- 如何使用Android Studio 创建assets目录存放html 、 assets和res区别
- LeetCode:Minimum Depth of Binary Tree&& Maximum Depth of Binary Tree
- 数字图像处理06(图像分割)
- c#与WMI使用技巧集http://www.cnblogs.com/Sandheart/articles/1568636.html
- 爸爸和儿子的故事带你理解java线程
- POI导出excel,对于所有的VO实体都通用.
- NYOJ252 01串
- 数据挖掘方法案例介绍
- ASP.Net抓取页面
- 安卓实习第十三天
- 7.31工作日志
- mysql怎么清掉自增长的id
- Spring MVC 学习 之 - URL参数传递