Java07(第7章)

上传人:伴*** 文档编号:243073536 上传时间:2024-09-15 格式:PPT 页数:25 大小:350.50KB
返回 下载 相关 举报
Java07(第7章)_第1页
第1页 / 共25页
Java07(第7章)_第2页
第2页 / 共25页
Java07(第7章)_第3页
第3页 / 共25页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java,语言程序设计,清华大学出版社,第,7,章 多线程与异常处理,第,7,章多线程与异常处理,1,、多线程的概念,2,、线程的使用,3,、线程同步,4,、异常处理,7.1,多线程的概念,1,、线程与多线程,2,、线程的生命周期,3,、线程的优先级,1,、线程与多线程,什么是线程,进程与多线程的区别,Java,的多线程机制,在,Java,编程中,每实例化一个线程对象,就创建一个虚拟的,CPU,,由虚拟,CPU,处理本线程数据。,每个,Java,程序都有一个主线程,即由,main(),方法所对应的线程。对于,applet,,浏览器即是主线程。,除主线程外,线程无法自行启动,必须通过其他程序来启动它。,2,、线程的生命周期,线程要经历创建、就绪、运行、阻塞和死亡等,5,个状态 ,称为生命周期。,一个线程通过,new,操作进入新生状态,通过,start,方法进入就绪状态,通过调度执行,run,操作,使用,sleep,或,wait,进入阻塞状态,执行完,run,或,System.exit,则进入死亡状态,7.1.3,线程的优先级,高优先级线程在低优先级线程之前得到执行。,线程的调度是抢先式的调度策略,执行方式分时间片方式和非时间片方式(独占式),线程的优先级用数字表示,范围是,110,。可通过,getPriority(int,),和,getPriority,( ),设置和获取线程的优先级。,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,、应用线程的子类,class Sale extends Thread,int,s=100;,public void run(),System.out.println(getName,() + ,售机票第, + s- +,号,);,class E3,public static void,main(String,args,),Sale t1=new Sale();,t1.start();,2,、应用,Runnale,接口,class,Threadsale,implements,Runnable,int,tickets=100 ;,public void run(),.,public class E9_4,public 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,售票窗口,);,t1.start();,t2.start();,t3.start();,t4.start();,线程的暂停和恢复,sleep(),方法,该方法指定线程休眠一段时间。如下面语句所示:,Thread thread1 = new Thread();,thread1.start();,try, thread1.sleep(2000); ,catch(InterruptedException,e) ,7.4,异常处理,异常(,Exception,)指程序运行过程中出现的非正常现象,.,在,Java,中,把异常分为错误(,Error,)与异常(,Exception,)两大类。,异常情况(,Exception,)表示另外一种“非同寻常”的错误。这种错误通常是不可预测的。常见的异常情况包括内存不足,找不到所需的文件等。,系统异常见,P225,表,7.1,异常处理,try,可能出现异常的程序代码,catch(,异常类,1,变量,1),异常类,1,对应的异常处理代码,catch(,异常类,2,变量,2),异常类,2,对应的异常处理代码,.,finally,无论异常是否发生都要执行的代码,异常示例:,class A ,public static void,main(String,args,) ,int,a=20,b=0;,try,System.out.println(a/b,); ,catch(Exception,e),System.out.println,(“,除数为,0); ,线程中休眠的应用,try,线程对象,.sleep(2000);,catch(InterruptedException,e),下课!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!