网站大量收购独家精品文档,联系QQ:2885784924

Java语言程序设计电子课件 第5章 多线程编程与异常处理.pptxVIP

Java语言程序设计电子课件 第5章 多线程编程与异常处理.pptx

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

JAVA语言程序设计

5.1线程的概念5.2线程的生命周期5.3线程的创建5.4线程案例5.5异常的概念与分类5.6异常处理机制5.7异常处理案例5.8综合案例本章小结第5章多线程编程与异常处理

教学目标:随着计算机硬件的更新,多核计算机已经逐渐成为主流产品。为了充分发挥多核的优势,多线程编程成为编程人员必须要掌握的编程方式。程序设计人员编写程序总是希望能够按照预期情况运行,得出一个正确的结果。但有时候程序会莫名中断或运行结果错误,Java语言对于这种预想不到的情况采用异常机制来进行处理。本章主要介绍Java多线程并行程序的建立和运用,同时介绍了异常的概念和异常处理机制。教学重点:掌握Java中线程的概念。掌握线程的生命周期。掌握两种创建线程的方法。掌握异常的概念和分类。掌握Java异常处理机制。第5章多线程编程与异常处理

5.1.1基本概念1.进程在操作系统中,我们熟悉进程的概念,进程是指可以与其他程序并发执行程序的一次执行过程,是系统进行资源分配和调度的独立单位,有时也称为活动或任务。即进程是运行中的程序,是程序的一次运行活动,具有动态性和并发性。2.线程为了使计算机操作系统具有更好的并发性,减少程序在并发执行时所付出的时空开销,在操作系统中引入了线程的概念。线程是进程中的一个实体,是被系统调度和分配的基本单元,每个程序至少包含一个线程,就是“主线程”。5.1线程的概念

5.1.1基本概念线程自己拥有很少的资源,但是它与同属一个进程的其他线程共享该进程的全部资源,从而改善了系统资源的利用率。利用线程编程的概念叫作“多线程编程”。图5-1表示了线程和进程之间的区别。进程就是只拥有一个线程的进程,因为所有的任务都有这一个线程完成,也称该进程为重量级进程。而拥有多个线程的进程因为将任务分给多个线程来执行,每个线程承担的工作量减小,也被成为轻量级进程。图5-1进程与线程关系5.1线程的概念

5.1.2多线程的优点对于多线程机制而言,一个进程可以有多个线程,这些线程共享该进程资源,这些线程驻留在相同的地址空间,共享数据和文件。如果一个线程修改了一个数据项,其他线程可以了解和使用此结果数据。使用多线程编程有以下优点:①程序的运行速度可能加快。②用于创建和撤销线程的开销比创建和撤销进程的系统开销要少得多。③CPU在线程之间切换的开销远比进程之间切换的开销小。④线程机制也增加了通讯的有效性。线程间通讯是在同一进程的地址空间内,共享主存和文件,非常简单,无需内核参与。⑤线程在一些等待的任务实现上可以释放一些珍贵的资源。如内存占用、文件读写等。5.1线程的概念

5.2.1线程的各种状态一个线程在他的整个生存期中可能以集中不通的状态存在,如图5-2所示。尽管线程启动后成为可运行的,但他不一定就立即运行。单CPU的计算机上同一时间只能执行一个操作。因此完整的生命周期内通常要经历新建、可运行、运行、阻塞、死亡等五种状态。图5-2线程的生命周期5.2线程的生命周期

5.2.2线程的各种方法线程在生命周期的不同状态进行转换时,涉及到了许多方法,表5-1介绍了常用方法的作用。表5-1线程的常用方法作用5.2线程的生命周期

5.2.3线程的优先级别在Java中线程的优先级是用数字来表示的,分为10个级别。表5-2列出了不同优先级别的取值范围,默认值和对应的常量。表5-2线程的优先级5.2线程的生命周期

线程可看做有三部分构成:虚拟CPU、代码和数据。代码可以被多个线程共享,独立于数据。当两个线程执行同一个类的实例代码时,这两个线程共享同样的代码。同样,数据也可以被多个线程共享,独立于代码。在Java编程中,线程是通过Java的软件包java.lang中定义的类Thread来实现的。(1)Thread类本身只是线程的虚拟CPU;(2)线程所执行的功能是通过方法run()来完成的,方法run()称为线程体;(3)在一个线程被建立并初始化以后,Java的运行时系统就自动调用run()方法。用户可以有两种方法构造自己的run()方法:(1)一种方法是继承Thread类,定义一个类,继承Thread的线程类,重写其中的run()方法;(2)另一种实现Runnable接口,定义一个类,实现Runnable的接口。重写其中的run()方法,该类对象作为Thread类的参数。5.3线程的创建

5.3.1继承Thread类创建线程采用继承Thread方法创建线程的优点是:run()方法被包含在继承Thread类的类中,有助于简化程序代码。Thread类的构造方法最常用的两种:PublicThread():分配新的Thread对象PublicThread(Runna

文档评论(0)

释然 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档