Ch10多线程v2幻灯片.pptVIP

  1. 1、本文档共45页,可阅读全部内容。
  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文档。上传文档
查看更多
第 10 章 多 线 程 教学目标 10.1线程的概念 10.2线程的创建和执行 10.2.1 Thread类和Runnable接口介绍 10.2.2通过继承Thread的子类创建线程 10.2.2 通过实现Runnable 接口创建线程 10.3 线程的状态与生命周期 10.4 线程优先级与线程的控制 教学目标 10.5 线程同步 11.5.1 Synchonized同步关键字 11.5.2 Wait和Notify方法 11.5.3多线程同步的程序设计举例 10.6 死锁 10.7 小结 10.1 线程的概念 Java语言支持多线程机制 可开发出处理多个任务的功能强大的应用程序。 并行任务的应用举例 1. 程序、进程与线程的概念 程序是一段静态的代码 进程是程序一次动态执行的过程.它对应着从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。进程是由操作系统来管理. 多线程:当需要在一个程序中同时执行几段代码时,以完成不同的任务,就会用多线程技术来实现.多线程由程序负责管理。 10.1 线程的概念 线程是进程中可独立执行的子任务,一个进程可以含有一个或多个线程,每个线程都有一个唯一的标识符。 10.1 线程的概念 10.2线程的创建和执行 Java的线程相关的类在软件包java.lang中。 在程序中实现多线程有两种方式: 1、通过继承Thread类的子类创建线程对象 2、通过实现Runnable接口创建线程对象。 这两种方式都要两个关键性的操作: (1)定义用户线程的操作,即实现线程的run( )方法的方法体; (2)构造Thread类对象,实现线程的建立和运行控制。 10.2.1 Thread类和Runnable接口介绍 1.Runnable接口介绍 Runnable接口只有一个方法run( ) 所有实现Runnable接口的类必须实现这个方法。它定义了线程体的具体操作。当线程被调度并转入运行状态时,它所执行run( )方法中规定的操作。 2.Thread类介绍 Thread类是一个具体的类,它封装了一个线程所需要的属性和方法。 Thread类实现Runnable接口中的run方法, 但方法体为空。 10.2.1 Thread类和Runnable接口介绍 3.Thread类的构造方法 ?Thread ( String threadName ) 为新创建的线程对象指定一个字符串名称threadName。 Thread ( ) 线程对象的名称由系统指定为“Thread-”连接一个数值。 如“Thread-1” 、“Thread-2” ?Thread ( Runnable target ) 以实现Runnable接口的target对象中所定义的run( )方法,来初始化或覆盖新创建的线程对象的run( )方法。 10.2.2通过继承Thread的子类创建线程 创建用户定制的Thread类的子类,并在子类中重新定义自己的run( )方法,这个run( )方法中包含了用户线程的操作。 例10-1 通过定制的Thread的子类,创建多线程。 该程序是一个Application程序,主线程是main( )方法执行的路线。在主线程中创建另一个线程,其名称是r。 程序文件:TestThread1.java 例10-1通过继承Thread类创建线程 10.2.2通过继承Thread的子类创建线程 例10-2 通过定制的Thread的子类,创建多线程。 该程序是一个Application程序,主线程是main( )方法执行的路线。在主线程中创建三个线程,其名称是thread1、thread2和thread3,每个线程的优先级均为默认的Thread.NORM_PRIORITY。每个线程启动后,由系统执行run()方法,运行将显示信息:进入睡眠的线程名称和要休眠的时间.。程序运行输出结果如图11-3 10.2.2 实现Runnable 接口创建线程 通过实现Runnable 接口创建线程的步骤: 创建实现Runnable接口的类,在此类中实现Runnable接口中run()方法; 创建此类的对象,并将此对象作为参数传递给 Thread类的构造方法,构造Thread对象并启动它。 只要一段代码在单独线程中运行,则可以继承Runnable接口,并将该段代码放在该接口run()方法中。 例10-3: 实现Runnable 接口,创建线程 10.2.2 实现Runnable 接口,创建线程 例10-4 通过实现Runnable接口创建线程 程序是一个Apple

文档评论(0)

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

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

1亿VIP精品文档

相关文档