[java程序设计教学教案课件10.pptVIP

  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文档。上传文档
查看更多
[java程序设计教学教案课件10

第十章 Java多线程机制 第十章 Java 多线程机制 10.1 Java 中的线程 程序、进程、线程 线程的状态与生命周期 线程调度与优先级 10.1 Java 中的线程 程序、进程、线程 程序是一段代码 进程是一次动态执行过程:代码加载、执行、完毕。 线程是进程执行过程中形成的多条执行线索(线程)。多条线程共同完成一个进程。 10.1 Java 中的线程 线程的状态与生命周期 每个Java程序都有一个默认的主线程。 主线程:应用程序是main(),对Applet是小程序 线程:Thread类及其子类创建的对象 10.1 Java 中的线程 线程完整的生命周期: 新建:当一个Thread类或其子类的对象被声明创建时,新生的线程对象处于新建状态。 运行:线程创建之后就具备了运行的条件,一旦轮到它享用CPU资源时,就可以脱离创建它的主线程独立开始自己的生命周期。 中断:一个正在执行的线程可能被人为地中断,让出CPU的使用权,暂时中止自己的执行,进入阻塞状态。 死亡:处于死亡状态的线程不具有继续运行的能力。 10.1 Java 中的线程 线程调度优先级 线程排队,优先级相同条件下:处理器资源获得的“先进先出”原则。 进入运行状态后(调度),优先级相同条件下:先到先服务原则。 设置优先级:setPriority(int a),a的取值:Thread.MIN_PRIORITY,Thread.MAX_PRIORITY, Thread.NORM_PRIORITY。 10.2 Thread 类与Runnable接口 Thread类 构造函数:public Thread(Runnable target) 启动:start() 运行:run() 休眠:sleep(int millsecond) 检查存活:isAlive() 判断:currentThread() 10.2 Thread 类与Runnable接口 Runnable接口 target必须实现Runnable接口 Runnable接口中的run()方法 10.3 在程序中实现多线程 用Thread类的子类创建线程 用Thread类创建线程 10.3 在程序中实现多线程 用Thread类的子类创建线程 在子类中可以重写run()方法 10.3 在程序中实现多线程 例10_1 10.3 在程序中实现多线程 例10_2 10.3 在程序中实现多线程 用Thread类创建线程 构造函数创建:public Thread(Runnable target)中target必须是一个具体的对象。 target必须实现Runnable接口 Runnable接口中的run()方法 10.3 在程序中实现多线程 例子10-3 10.3 在程序中实现多线程 例子10-4 10.4 Thread类的静态方法sleep() Sleep()方法的直接调用:Thread.sleep(int times); 例10_5 10.5 线程同步 方法用synchronized修饰,一个线程使用些方法,另一个线程必须等待。 Public synchronized void 方法() 10.5 线程同步 例子10-6 10.6 在同步方法中使用wait()、notify和notifyAll()方法 同步方法中的wait()方法使些线程中断等待,让出CPU。 其它线程使用同步方法如不需等待,用完后用notifyAll()通知其它由于使用此同步方法而处于等待的线程。线程先中断先继续。 Notify()方法只是通知第一个等待的线程 10.6 在同步方法中使用wait()、notify和notifyAll()方法 例子10-7 10.7 线程的interrupt()方法 在run()方法执行完之前结束run()调用interrupt()方法。 线程捕获interruptedException异常。 例10_8 10.8 挂起、恢复和终止线程 挂起:CUP权限暂时让出wait() 恢复:执行线程通知其它中断线程notifyAll,以便恢复执行 终止:run()结束。 例10_9 10.9 计时器线程Timer Javax.swing包中的Timer类 Timer(int a,Object b)方法。 计时器的监视器对象b是自动的。 发生ActionEvent事件 setReapeats(false)只震铃一次 start()、stop()启动、停止计时器。 10.9 计时器线程Timer 例10_10 * Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2

文档评论(0)

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

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

1亿VIP精品文档

相关文档