java语言程序设计_第1页
java语言程序设计_第2页
java语言程序设计_第3页
java语言程序设计_第4页
java语言程序设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、java语言程序设计Java语言程序设计语言程序设计第7章 多线程与异常处理编著:张思民编著:张思民 java语言程序设计第第7章多线程与异常处理章多线程与异常处理1、多线程的概念、多线程的概念2、线程的使用、线程的使用3、线程同步、线程同步4、异常处理、异常处理java语言程序设计7.1 多线程的概念多线程的概念1、线程与多线程、线程与多线程2、线程的生命周期、线程的生命周期3、线程的优先级、线程的优先级java语言程序设计1、线程与多线程、线程与多线程 什么是线程什么是线程java语言程序设计 进程与多线程的区别进程与多线程的区别java语言程序设计Java的多线程机制的多线程机制 在在J

2、ava编程中,每实例化一个线程对象,编程中,每实例化一个线程对象,就创建一个虚拟的就创建一个虚拟的CPU,由虚拟,由虚拟CPU处理处理本线程数据。本线程数据。 每个每个Java程序都有一个主线程,即由程序都有一个主线程,即由main()方法所对应的线程。对于方法所对应的线程。对于applet,浏览器即是主线程。浏览器即是主线程。 除主线程外,线程无法自行启动,必须通除主线程外,线程无法自行启动,必须通过其他程序来启动它。过其他程序来启动它。java语言程序设计2、线程的生命周期、线程的生命周期 线程要经历创线程要经历创建、就绪、运建、就绪、运行、阻塞和死行、阻塞和死亡等亡等5个状态个状态 ,称

3、为生命周期。称为生命周期。java语言程序设计7.2 线程的使用方法线程的使用方法 1、创建、创建Thread子类构造线程子类构造线程 2、实现、实现Runnable接口构造线程接口构造线程 基本方法:基本方法:创建线程类,再用其他类调用线程创建线程类,再用其他类调用线程。java语言程序设计1、创建、创建Thread子类构造线程子类构造线程 线程的创建与启动线程的创建与启动(1)创建一个)创建一个Thread类的子类;类的子类;(2)在子类中重新定义自己的)在子类中重新定义自己的run()方法,方法,这个中包含了线程要实现的操作;这个中包含了线程要实现的操作;(3)用关键字)用关键字new

4、创建一个线程对象;创建一个线程对象;(4)调用)调用start()方法启动线程。方法启动线程。java语言程序设计示例示例【例例7-1】创建二个创建二个Thread类的子类,然后类的子类,然后测试它。测试它。 (见教材见教材P205)java语言程序设计这个例子说明了这样几个事实:这个例子说明了这样几个事实:(1)创建独立执行线程比较容易,创建独立执行线程比较容易,Java负责处负责处理了大部分细节。理了大部分细节。 (2)各线程并发运行,共同争抢各线程并发运行,共同争抢CPU资源,资源,线程抢夺到线程抢夺到CPU资源后,就开始执行,无资源后,就开始执行,无法准确知道某线程能在什么时候开始执行

5、。法准确知道某线程能在什么时候开始执行。 (3)线程间的执行是相互独立的。线程间的执行是相互独立的。 (4)线程独立于启动它的线程(或程序)。线程独立于启动它的线程(或程序)。java语言程序设计2、 实现实现Runnable接口构造线程接口构造线程 1、实现、实现Runnable接口接口2、定义、定义run( )方法方法 3、构造线程:、构造线程:Thread(Runnable对象名对象名); 4、启动线程:线程对象、启动线程:线程对象.start( );java语言程序设计示例示例 【例例7-2】 创建一个实现创建一个实现Runnable接口接口的线程类。的线程类。(见见教材教材P205)

6、java语言程序设计二种线程方式的用法区别二种线程方式的用法区别 用多线程设计一个模用多线程设计一个模拟火车站售票大厅的拟火车站售票大厅的工作情形工作情形 java语言程序设计1、应用线程的子类 class Sale extends Thread int s=100; public void run() System.out.println(getName() + 售机票第售机票第 + s- +号号); class E3public static void main(String args) Sale t1=new Sale();t1.start();java语言程序设计2、应用Runnale

7、接口 class Threadsale implements Runnable int tickets=100 ;public void run(). public class E9_4public static void main(String args) Threadsale t=new Threadsale(); /实例化线程 Thread t1=new Thread (t,第1售票窗口); Thread t2=new Thread (t,第2售票窗口); Thread t3=new Thread (t,第3售票窗口); Thread t4=new Thread (t,第4售票窗口);

8、t1.start(); t2.start(); t3.start(); t4.start(); java语言程序设计线程的暂停和恢复线程的暂停和恢复 sleep()方法方法该方法指定线程休眠一段时间。如下面该方法指定线程休眠一段时间。如下面语句所示:语句所示:Thread thread1 = new Thread();thread1.start();try thread1.sleep(2000); catch(InterruptedException e) java语言程序设计7.4异常处理异常处理 异常(异常(Exception)指程序运行过程中出)指程序运行过程中出现的非正常现象现的非正常

9、现象. 在在Java中,把异常分为错误(中,把异常分为错误(Error)与)与异常(异常(Exception)两大类。)两大类。 异常情况(异常情况(ExceptionException)表示另外一种)表示另外一种“非同寻常非同寻常”的错误。这种错误通常是不的错误。这种错误通常是不可预测的。常见的异常情况包括内存不足,可预测的。常见的异常情况包括内存不足,找不到所需的文件等。找不到所需的文件等。 系统异常见系统异常见P225 P225 表表7.17.1java语言程序设计异常处理异常处理 try 可能出现异常的程序代码可能出现异常的程序代码 catch(异常类异常类1变量变量1) 异常类异常类1对应的异常处理代码对应的异常处理代码catch(异常类异常类2变量变量2) 异常类异常类2对应的异常处理代码对应的异常处理代码 .finally 无论异常是否发生都要执行的代码无论异常是否发生都要执行的代码 java语言程序设计异常示例:异常示例: class A public static void main(String args) int a=20,b=0;try System.out.println(a/

温馨提示

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

评论

0/150

提交评论