- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 7 章 的多线程与异常处理
7.1.1 Java的异常处理机制 在Java中,把异常分为错误(Error)与异常(Exception)两大类。 Exception类有自己的方法和属性。它的构造方法有两个: public Exception ( ); public Exception (String s); 7.1.1 Java的异常处理机制 系统定义的运行异常 7.1.2 异常的抛出 1、系统自动抛出的异常 【例7-1】创建一个有错误的程序,测试异常抛出的情况。 1. /* 测试除数为0时抛出的异常 */ 2. class Example7_1 3. { 4. public static void main(String[] args) 5. { 6. int a=5,d=0; 7. System.out.println(a/d); 8. } 9. } 7.1.2 异常的抛出 2、声明抛出异常 用throw语句抛出异常对象的语法格式为: 修饰符 返回类型 方法名() throws 异常类名 { …. Throw 异常类名; …. } 7.1.3 异常处理 异常处理的方法有二种:一种方法是使用try…catch…finally结构对异常进行捕获和处理;另一种方法是通过throws和throw抛出异常。 下面重点介绍使用try…catch…finally结构对异常进行捕获和处理。 try…catch…finally结构对异常进行捕获和处理的形式: try{ 可能出现异常的程序代码 } catch(异常类1 变量1) { 异常类1对应的异常处理代码 } catch(异常类2 变量2) { 异常类2对应的异常处理代码 } ... [finally] { 无论异常是否发生都要执行的代码 } 【例7-2】构造一个异常,计算分母为a-5的分式,当输入数字5时,则抛出异常。 【例7-4】数组下标越界引发异常 class Example7_4 { public static void main(String[] args) { int a[]={1,2,3,4,5}; int sum=0; try { for (int i=0;i=5 ;i++ ) {sum+=a[i];} System.out.println(sum=+sum); }catch(ArrayIndexOutOfBoundsException e) { System.out.println(发生异常原因:+e); } finally { System.out.println(程序运行结束!); } } } 7.2 多线程的基本概念 什么是线程 7.2.1 线程与多线程 进程与多线程的区别 Java的多线程机制 在Java编程中,每实例化一个线程对象,就创建一个虚拟的CPU,由虚拟CPU处理本线程数据。 每个Java程序都有一个主线程,即由main()方法所对应的线程。对于applet,浏览器即是主线程。 除主线程外,线程无法自行启动,必须通过其他程序来启动它。 7.2.2 线程的生命周期 线程要经历创建、就绪、运行、阻塞和死亡等5个状态 ,称为生命周期。 7.2.2 线程的生命周期 1、创建状态 当我们通过new命令创建了一个线程对象,则该线程对象就处于创建状态。如下面语句所示: Thread thread1 = new Thread(); 创建状态是线程已被创建但未开始执行的一个特殊状态。此时线程对象拥有自己的内存空间,但没有分配CPU资源,需通过start()方法调度进入就绪状态等待CPU资源。 7.2.2 线程的生命周期 2、就绪状态 处于创建状态的线程对象通过start()方法进入就绪状态,如下面语句所示: Thread thread1 = new Thread(); Thread1.start(); start()方法同时调用了线程体,也就是run()方法,表示线程对象正等待CPU资源,随时可被调用执行。 7.2.2 线程的生命周期 3、运行状态 若线程处于正在运行的状态,表示线程已经拥有了对处理器的控制权,其代码目前正在运行,除非运行过程中控制权被另一优先级更高的线程抢占,否则这一线程将一直持续到运行完毕。 7.2.2 线程的生命周期 4、阻塞状态 如果一个线程处于阻塞状态,那
您可能关注的文档
- 病的句5(表意不明).ppt
- 登飞的来峰课件(上课).ppt
- 病毒的木马的工作原理及其防范.ppt
- 白的板使用方法讲座课件.ppt
- 电视机与电脑同步显示的设置方法.doc
- 白盒的测试技术.doc
- 百事沟通会的正稿.ppt
- 病的例讨论-麻醉科医师应当如何会诊外科病人--薛张刚教授.ppt
- 皮山分的布式项目方案.doc
- 百会客户的关系管理.pdf
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)