Java语言程序设计5-5-java第11章(多线程程序设计[线程状态-线程的生命周期])

Java语言程序设计5-5-java第11章(多线程程序设计[线程状态-线程的生命周期])

ID:45849289

大小:262.50 KB

页数:22页

时间:2019-11-18

Java语言程序设计5-5-java第11章(多线程程序设计[线程状态-线程的生命周期])_第1页
Java语言程序设计5-5-java第11章(多线程程序设计[线程状态-线程的生命周期])_第2页
Java语言程序设计5-5-java第11章(多线程程序设计[线程状态-线程的生命周期])_第3页
Java语言程序设计5-5-java第11章(多线程程序设计[线程状态-线程的生命周期])_第4页
Java语言程序设计5-5-java第11章(多线程程序设计[线程状态-线程的生命周期])_第5页
资源描述:

《Java语言程序设计5-5-java第11章(多线程程序设计[线程状态-线程的生命周期])》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、褚龙现chulongxian@126.com第十一章多线程程序设计软件学院回顾编程规范程序调试文档注释软件学院回顾—Java的编程规范指导方针是要求确实所需要的,例如增加可读性没有标准可以做到完美无缺,也没有标准可以做到适用于所有的应用指导方针一般是为了:增加可读性、程序的可理解性,从而提高程序的可维护性以及程序代码质量软件学院回顾—程序调试第一种格式assert布尔表达式;当表达式的值为false并且assert语句起作用时,引起一个断言错误AssertionError软件学院回顾—程序调试第二种格

2、式assert布尔表达式:字符串;当表达式的值为false并且assert语句起作用时,引起一个断言错误,同时会显示给定字符串的内容。软件学院教学内容和目标多线程程序设计方法线程生命周期软件学院教学重难点重点掌握多线程程序设计的基本方法难点多线程程序运行周期软件学院11.1线程一个线程就是一段连续执行的程序连续执行的含义:程序从起始点开始运行每次执行一条语句语句可能有条件判断、循环、函数,但每次只有一条语句在执行程序最后在终点退出软件学院11.1.1线程与程序线程与可执行程序的区别线程不是一个完整的可

3、执行程序,它不能自动开始线程在程序中运行,由程序来启动一个线程我们前面学到的程序,其核心都是一个线程程序的作用是给线程加上一段创建并启动线程的代码软件学院11.1.2多线程多线程的概念如果一个程序中同时启动了两个或更多个线程,则称为多线程程序有些应用程序需要做到“一心二用”,一个在前台随时听候用户调遣,另一个在后台完成用户交待的工作利用多线程程序就可以做到这一点,只需要让程序启动两个线程,一个在前台接受用户指令,另一个在后台进行具体工作软件学院11.1.2多线程多线程程序的应用应用非常广泛,常用程序几

4、乎都是多线程多线程的典型例子:IE浏览器利用浏览器浏览网页时,受速度限制,网页不可能一下子就全部显示出来对于单线程程序,我们只能耐心地等待网页全部显示出来,然后才能继续控制浏览器多线程程序:线程一,下载并显示网页线程二,在前台响应用户的输入,如果用户想翻动页面,线程二会立即做出响应软件学院11.2多线程程序设计创建线程的方法方法1:产生一个继承Thread类的线程类方法2:让一个普通类实现Runnable接口两种方法的比较:方法2比方法1要复杂一些如果你的类需要继承其他类(比如图形界面类JFrame,

5、小程序类Applet),那么这个类就不能再继承线程类此时就必须通过实现Runnable接口来实现软件学院11.2.1多线程程序的设计-1(1)建立自己的线程类(2)在主程序中创建线程对象(3)启动线程(4)结束线程软件学院11.2.1.1建立线程类线程类继承自Thread类必须覆盖Thread类的run(运行)函数当主程序运行该线程时,实际上就是运行run函数中的代码run函数运行完毕以后,线程自动结束run函数的作用相当于主程序的main函数软件学院11.2.1.2创建线程对象如下面的例子:Rabb

6、itThreadrabbit=newRabbitThread("兔子");TortoiseThreadtortoise=newTortoiseThread("乌龟");构造函数中的参数表示线程名称线程的名称可以随便给出在本例中,给RabbitThread线程起名叫“兔子”,TortoiseThread线程起名叫“乌龟”软件学院11.2.1.3启动、结束线程(3)启动线程通过调用线程对象的start函数实现下面的代码启动了两个线程rabbit.start();tortoise.start();(4)结束

7、线程当线程类的run函数执行完后,线程会自动结束,无须人工干预软件学院11.2.2多线程程序的设计-2实现Runnable接口的具体做法(1)让普通的类实现Runnable接口classRabbitThreadimplementsRunnable{...}(2)实现Runnable接口的run函数publicvoidrun(){...}(3)创建一个普通类的对象RabbitThreadrabbit=newRabbitThread();软件学院11.2.2多线程程序的设计-2实现Runnable接口的具

8、体做法(4)创建一个线程(Thread)对象,在线程对象构造函数的参数中需要给出普通类的对象,以及线程名称Threadthread1=newThread(rabbit,"兔子");(5)调用线程对象的start函数,线程对象会启动线程,并且在该线程中运行普通类的run函数thread1.start();软件学院11.2.2多线程程序的设计-2启动、暂停、停止线程线程的启动:通过线程类(或者其子类)的start函数来实现:thread1.start();启

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。