张思民java语言程序设计pptwzkj.ppt

上传人:sccc 文档编号:5398535 上传时间:2023-07-03 格式:PPT 页数:23 大小:213.51KB
返回 下载 相关 举报
张思民java语言程序设计pptwzkj.ppt_第1页
第1页 / 共23页
张思民java语言程序设计pptwzkj.ppt_第2页
第2页 / 共23页
张思民java语言程序设计pptwzkj.ppt_第3页
第3页 / 共23页
张思民java语言程序设计pptwzkj.ppt_第4页
第4页 / 共23页
张思民java语言程序设计pptwzkj.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《张思民java语言程序设计pptwzkj.ppt》由会员分享,可在线阅读,更多相关《张思民java语言程序设计pptwzkj.ppt(23页珍藏版)》请在三一办公上搜索。

1、Java语言程序设计,第7章 多线程与异常处理,编著:张思民,第7章多线程与异常处理,1、多线程的概念2、线程的使用3、线程同步4、异常处理,7.1 多线程的概念,1、线程与多线程2、线程的生命周期3、线程的优先级,1、线程与多线程,什么是线程,进程与多线程的区别,Java的多线程机制,在Java编程中,每实例化一个线程对象,就创建一个虚拟的CPU,由虚拟CPU处理本线程数据。每个Java程序都有一个主线程,即由main()方法所对应的线程。对于applet,浏览器即是主线程。除主线程外,线程无法自行启动,必须通过其他程序来启动它。,2、线程的生命周期,线程要经历创建、就绪、运行、阻塞和死亡等

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)各线程并发运行,

3、共同争抢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;pu

4、blic void run()System.out.println(getName()+售机票第+s-+号);,class E3public static void main(String args)Sale t1=new Sale();t1.start();,2、应用Runnale接口,class Threadsale implements Runnableint tickets=100;public void run().,public class E9_4public static void main(String args)Threadsale t=new Threadsale();/

5、实例化线程 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(Interrupted

6、Exception 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;trySystem.out.println(a/b);catch(Exception e)System.out.println(“除数为0);,线程中休眠的应用,try 线程对象.sleep(2000);catch(InterruptedException e),下课!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号