清华大学张思民Java课件第8章.ppt_第1页
清华大学张思民Java课件第8章.ppt_第2页
清华大学张思民Java课件第8章.ppt_第3页
清华大学张思民Java课件第8章.ppt_第4页
清华大学张思民Java课件第8章.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java语言程序设计 第7章多线程与异常处理 主讲 张思民 仰恩大学Java课程组 第7章多线程与异常处理 1 多线程的概念2 线程的使用3 线程同步4 异常处理 7 1多线程的概念 1 线程与多线程2 线程的生命周期3 线程的优先级 1 线程与多线程 什么是线程 进程与多线程的区别 Java的多线程机制 在Java编程中 每实例化一个线程对象 就创建一个虚拟的CPU 由虚拟CPU处理本线程数据 每个Java程序都有一个主线程 即由main 方法所对应的线程 对于applet 浏览器即是主线程 除主线程外 线程无法自行启动 必须通过其他程序来启动它 2 线程的生命周期 线程要经历创建 就绪 运行 阻塞和死亡等5个状态 称为生命周期 7 2线程的使用方法 1 创建Thread子类构造线程2 实现Runnable接口构造线程 基本方法 创建线程类 再用其他类调用线程 1 创建Thread子类构造线程 线程的创建与启动 1 创建一个Thread类的子类 2 在子类中重新定义自己的run 方法 这个中包含了线程要实现的操作 3 用关键字new创建一个线程对象 4 调用start 方法启动线程 示例 例7 1 创建二个Thread类的子类 然后测试它 见教材P205 这个例子说明了这样几个事实 1 创建独立执行线程比较容易 Java负责处理了大部分细节 2 各线程并发运行 共同争抢CPU资源 线程抢夺到CPU资源后 就开始执行 无法准确知道某线程能在什么时候开始执行 3 线程间的执行是相互独立的 4 线程独立于启动它的线程 或程序 2 实现Runnable接口构造线程 1 实现Runnable接口2 定义run 方法3 构造线程 Thread Runnable对象名 4 启动线程 线程对象 start 示例 例7 2 创建一个实现Runnable接口的线程类 见教材P205 二种线程方式的用法区别 用多线程设计一个模拟火车站售票大厅的工作情形 1 应用线程的子类 classSaleextendsThread ints 100 publicvoidrun System out println getName 售机票第 s 号 classE3 publicstaticvoidmain String args Salet1 newSale t1 start 2 应用Runnale接口 classThreadsaleimplementsRunnable inttickets 100 publicvoidrun publicclassE9 4 publicstaticvoidmain String args Threadsalet newThreadsale 实例化线程Threadt1 newThread t 第1售票窗口 Threadt2 newThread t 第2售票窗口 Threadt3 newThread t 第3售票窗口 Threadt4 newThread t 第4售票窗口 t1 start t2 start t3 start t4 start 线程的暂停和恢复 sleep 方法该方法指定线程休眠一段时间 如下面语句所示 Threadthread1 newThread thread1 start try thread1 sleep 2000 catch InterruptedExceptione 7 4异常处理 异常 Exception 指程序运行过程中出现的非正常现象 在Java中 把异常分为错误 Error 与异常 Exception 两大类 异常情况 Exception 表示另外一种 非同寻常 的错误 这种错误通常是不可预测的 常见的异常情况包括内存不足 找不到所需的文件等 系统异常见P225表7 1 异常处理 try 可能出现异常的程序代码 catch 异常类1变量1 异常类1对应的异常处理代码 catch 异常类2变量2 异常类2对应的异常处理代码 finally 无论异常是否发生都要执行的代码 异常示例 classA publicstaticvoidmain String args inta 20 b 0 try System out println a b catch Ex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论