Java程序设计案例教程 钱银中 第12章 多线程新.pptVIP

Java程序设计案例教程 钱银中 第12章 多线程新.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 多线程 1 线程基本概念 程序是代码的集合,例如Java的应用程序和小应用程序。 进程是程序的一次执行,进程使用了计算机中的CPU、内存等资源,经过了一个创建、运行、消亡的过程,是动态的。 线程是进程的组成单位,线程是程序中完成一个任务的有始有终的执行流,一个进程可以由若干个线程组成。例如,Java应用程序由一个主线程运行,主线程还可以创建其它线程。 1 线程基本概念 线程在生命周期中有五种状态:新建(New)、就绪(Ready)、运行(Running)、阻塞(Blocked)、终止(Terminated)。Java程序可以控制线程在这些状态之间转换 调用线程类的构造方法创建线程后,新建的线程处于新建状态 线程调用start( )方法后处于就绪状态。此时如果CPU在运行其它线程,线程必须排队等待,如果CPU空闲,线程立即占用CPU开始运行 线程获得CPU后处于运行状态 运行中的线程如果遇到读写数据、调用sleep()方法或其它阻塞事件,状态转变为阻塞状态 处于阻塞状态的线程,如果引起阻塞的事件结束,例如数据读写完毕或sleep()设定的时间已到,线程再次处于就绪状态 线程遇到异常或线程代码运行完毕,不能继续运行时,处于终止状态 2 Runnable接口和Thread类 定义线程类要用到Runnable接口和Thread类,它们都在java.lang包中 Runnable接口中只有一个方法: public void run() 一个类实现Runnable接口,必须覆盖run()方法,并在这个方法中编写线程程序。线程运行后自动执行run( )中的代码,run( )方法不需要在程序中调用 2 Runnable接口和Thread类 Thread类实现了Runnable接口,但仅仅以空的方法体覆盖了run()方法 ,常用的构造方法和成员方法有: Thread( ) Thread(String name) // name是线程的名字 Thread(Runnable target) // target引用实现了Runnable接口的类的对象 Thread(Runnable target, String name ) public void start() //使线程变为就绪状态,占用CPU后运行run( )方法 void setName(String name) //设置线程名 String getName( ) //获取线程名 void setPriority(int newPriority) //设置线程优先级 int getPriority( ) //获取线程优先级 static void sleep(long milliseconds) throws InterruptedException //线程睡眠milliseconds毫秒 static Thread currentThread( ) //返回正在运行的线程对象 3 继承Thread类创建线程 通过继承Thread创建线程对象的步骤是: ·定义线程类继承Thread,并覆盖run()方法。 ·在run()方法中编写线程执行的代码。 ·使用new调用线程类的构造方法创建线程对象,并调用start()方法。 调用start()方法后线程对象处于就绪状态,如果获得CPU资源,线程自动运行run()方法。有多个线程对象同时处于就绪状态时,这些线程交替使用CPU 3 继承Thread类创建线程 例12-1 定义一个线程类,循环执行1000次输出语句,每次迭代输出线程名和循环迭代次数。创建两个线程对象,观察这两个对象的交替运行 4 实现Runnable接口创建线程 实现Runnable接口创建线程对象的步骤是: ·定义类实现Runnable接口,并覆盖run()方法。 ·在run()方法中编写线程执行的代码。 ·创建上述类的对象,并以该对象为参数,调用Thread的构造方法创建Thread对象。 ·Thread对象调用start()方法 4 实现Runnable接口创建线程 例12-2 创建两个线程对象,一个线程循环输出0~9之间的随机数,每行输出10个。另一个线程

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档