ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:77KB ,
资源ID:4572990      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-4572990.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验5 异常处理和多线程.doc)为本站会员(tkhy51908)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

实验5 异常处理和多线程.doc

1、1实验 5 异常处理和多线程一、实验目的1. 了解异常处理(exception)的作用,掌握异常处理的设计方法。2. 理解 Java 的多线程处理机制,掌握线程的使用方法。二、实验要求1. 会使用 trycatchfinally 语句捕获异常;2. 会使用 throw 语句抛出异常;3. 会使用 throws 子句在方法声明中抛出异常;4. 会自定义异常类。5. 会使用 Thread 类和 Runnable 接口创建线程;6. 会使用 Thread 类及相关的方法控制线程;7. 会使用关键字 synchronized 定义临界区,解决线程互斥访问;8. 会使用信号量和 PV 操作解决线程同步的

2、方法。三、实验内容1. 异常处理1. 1 使用 trycatch.finally 语句处理异常知识点解析:异常处理语句语法 try 语句序列 1 /存在潜在异常的代码块 catch (异常类 异常对象名) / 用于捕获并处理指定类型的异常对象,参数是一个异常对象 e, 其类型必须是 Exception 类及其子类。语句序列 2 /对某种异常类对象进行处理的代码块 finally /子句可以省略语句序列 3 /无论是否捕获到异常,最后必须执行的代码块2示例: 课本例 7.1 补充: ch7- ArrayAverage.java1.2 使用 throw 语句抛出异常知识点解析:在上面的实验中,异常

3、对象是 Java 运行时由系统抛出的。抛出异常也可以通过使用 throw 语句实现。throw 是 Java 语言的关键字,用来告知编译器此处要发生一个异常。throw 后面要跟一个新创建的异常类对象,用于指出异常的名称和类型。throw 语句格式为:;程序会在 throw 语句处立即终止,转向 trycatch 寻找异常处理方法,不再执行 throw 后面的语句。示例: 1.3 使用 throws 子句知识点解析:throws 子句一般用来表明在使用该方法时可能抛出异常但不捕获的异常。异常由系统来处理。throws 子句也可以指出抛出异常是 RuntimeException 或自定义异常类,

4、即异常的类型,以便准备调用其它方法捕获它,这种情况一般需要两个方法来分别处理抛出异常和处理异常。一种是只在方法中抛出异常的程序, 另一种是带有捕获处理的 throws 子句.示例:课本例 7.2注意:对于程序中需要处理的异常,一般要编写 try-catch-finally 语句捕获并处理。1.4 创建自定义异常类知识点解析:当 Java 提供的异常类不能满足需要时,程序可以自定义异常类,由 catch 子句捕获并处理。自定义的异常类必须是 Exception 的子类。示例:课本例 7.3 补充: ch7-DateException.java ChineseDate.javapublic voi

5、d set(int age) if (age0 else throw new Exception(“IllegalAgeData”); /抛出异常32. 多线程程序(program)是对数据描述与操作的代码的集合,是应用程序执行的脚本。进程(process ) 是程序的一次执行过程,是操作系统运行程序的基本单位。程序是静态的,进程是动态的。系统运行一个程序就是一个进程从创建、运行到消亡的过程。线程是比进程更小的运行单位,是程序中单个顺序的流控制。一个进程中可以包含多个线程。线程是一种特殊的多任务方式。当一个程序执行多线程时,可以运行两个或更多的由同一个程序启动的任务。这样,一个程序可以使得多个

6、活动任务同时发生。 2.1 继承 Thread 类创建线程知识点解析:采用直接继承 Thread 类的方法来创建线程,分为两步:1) 自定义一个类,让其继承 Thread 类;2) 覆盖 Thread 类的 run()方法。示例:课本例 8.12.2 实现 Runnable 接口创建线程知识点解析:采用实现 Runnabke 接口的方法来创建线程,分为两步:1) 自定义一个类,声明其实现 Runnable 接口并实现 run()方法;2) 将实现了 Runnable 接口的类作为 Thread 类的目标对象。示例:课本例 8.22.3 控制线程知识点解析:一个线程的生命周期可分为新建、就绪、运

7、行、阻塞、死亡这 5 个阶段。每个阶段都处于新建、可运行、阻塞、等待、定时等待和终止 6 种状态的一种。通过Thread 中改变线程状态的方法 start()、sleep()、join()、yield()等,测试线程状态的方法isInterrupted()、isAlive()等,以及 java.lang.Object 中协调线程对象的方法 wait()、notify()、notifyAll()可以对线程进行控制。示例:课本例 8.3 补充: ch8- WelcomeJFrame.java42.4 使用 synchronized 实现线程互斥知识点解析:为了实现多个线程能够互斥地访问共享变量,J

8、ava 语言采用 synchronized 关键字声明一段程序为临界区,实现线程对临界资源的互斥访问。示例:课本例 8.5 注意: 对比例 8.4补充:ch8- TicketSystem.java2.5 使用信号量和 PV 操作实现线程通信知识点解析:为了实现多个线程能够按照先后顺序的串联关系执行,即多个线程之间的通信问题, Java 语言采用信号量和 PV 操作,实现多个线程之间的同步问题。示例:课本例 8.7 注意: 对比例 8.6补充:ch8- CardBuffer.java四、思考题1. 程序中的错误有哪几种?分别能够在什么时刻被发现?2. Java 为什么要采用异常处理机制?Java

9、 的异常处理是怎样实现的?异常处理机制能够解决程序中遇到的所有错误吗?哪些错误不是异常处理能够解决的?3. 请问运行没有 main()方法的类会怎样?4. 在什么情况下需要采用线程同步机制?5. 数字时钟. 制作一个数字时钟标签组件 , 显示当前时间; 将该标签添加到框架窗口中, 如图所示.6. (选作) 设计一个数字秒表,实现计时启动、暂停、继续、停止等功能,要求多个按钮之间的状态是相互关联的,窗口如图所示。按钮之间关联关系如下:1)初始时 Start 按钮可用(亮) ,Continue 按钮和 Stop 按钮都为不可用(灰) 。2)当按下 Start 按钮时,秒表开始计时,同时 Stop 按钮可用,Start 按钮和 Continue 按钮 不可用;3)当按下 Stop 按钮时,秒表计时停止,同时 Start 按钮和 Continue 按钮可用,Stop 按钮 不可用;54)当按下 Continue 按钮时,秒表计时继续,同时 Stop 按钮可用,Continue 按钮和Start按钮不可用。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报