文档详情

Java程序设计实例教程 魏先民-课件和源代码 第4章新.ppt

发布:2015-12-16约1.22千字共22页下载文档
文本预览下载声明
第4章 异常处理和多线程程序设计 主讲教师:徐翠霞 4.1 “两数相除 ”案例 【案例说明】 本实例的运行界面如图4-1所示。这是一个简单的Java异常程序——两个数相除,除数不能为零。 【案例目的】 (1)熟悉异常的基本概念、异常类及异常类的方法; (2)熟练掌握捕获异常、处理异常以及抛出异常的方法。 【技术要点】 从键盘输入两个实数,一个作为被除数,另一个作为除数。若两数均为正常的实数且除数不为0,计算并输出两数相除的结果。若输入的被除数正常,除数为0,会产生ArithmeticException异常。若输入两数时,不管是被除数还是除数,只要输入的数据不是实数,会产生 NumberFormatException异常。 【相关知识及注意事项】 1.异常的概念 2.异常的类层次 3.捕获及处理异常 4.抛出异常 5.自定义异常类 4.2 “左手画圆右手画方 ”案例 【案例说明】 本实例编写一个Applet程序,创建两个线程:left和right,其中一个负责画圆,另一个负责画方。程序运行结果如图4-4所示。 【案例目的】 (1)学习并掌握多线程的基本概念、创建方法及其基本控制; (2)学习并掌握多线程机制的实现方法。 【技术要点】 (1)首先装入需要的各种软件包; (2)声明一个实现Runnable接口的类,并实现run()方法。 【相关知识及注意事项】 1.多线程的概念 2.线程的状态和生命周期 3.线程的调度和优先级 4.线程的创建 5.Thread类的构造方法 4.3 “线程联合 ”案例 【案例说明】 本实例利用join机制实现线程联合问题,程序运行结果如图4-5所示。 【案例目的】 (1)初步了解多线程的基本控制方法。 (2)学习并掌握线程联合的基本方法。 【技术要点】 调用线程的join()方法,控制多线程的联合。 【相关知识及注意事项】 1.多线程的基本控制 2.计时器Timer 4.4 “生产者消费者”案例 【案例说明】 本案例利用wait-notify机制实现生产者消费者问题,程序运行界面如图4-8所示。 【案例目的】 学习并掌握线程同步控制的方法。 【技术要点】 (1)创建一个生产者线程Producer; (2)创建一个消费者线程Consumer; (3)创建一个临界资源Sharing,作为生产者与消费者的共享对象。 【相关知识及注意事项】 1.多线程的同步 2.同步方法和同步语句块 * * (a) NumberFormatException异常信息 (b) ArithmeticException异常信息 (c)正常相除结果 图4-1 两数相除 图4-4 左手画圆右手画方 图4-5 线程联合 图4-8 生产者消费者问题模拟运行结果
显示全部
相似文档