• / 38
  • 下载费用:10 金币  

第十二章 Java多线程编程.ppt

关 键 词:
第十二章 Java多线程编程.ppt
资源描述:
第12讲 线程技术 Java Multi-Threads,计算机与通信学院,本章主要内容,,一、线程及多线程的概念,,程序(program)是对数据描述与操作的代码的集合,是应用程序执行的脚本。是静态的。,一、线程及多线程的概念,,进程(process)是程序的一次完整的执行过程,是操作系统运行程序的基本单位。系统从程序入口开始按语句的顺序(其中包括顺序、分支和循环)完成相应指令直至结尾,从出口退出,同时整个程序结束。是动态的。一个进程既包括其所要执行的指令,也包括了执行指令所需的任何系统资源,如CPU、内存空间、I/O端口等,不同进程所占用的系统资源相对独立。,一、线程及多线程的概念,,多任务是指在一个系统中可以同时运行多个程序,即有多个独立运行的任务(多个进程),每一个任务对应一个进程。,例如: 边听音乐边编写Java程序,一、线程及多线程的概念,,线程是比进程更小的运行单位,是程序中单个顺序的流控制。每个线程也有它自身的产生、存在和消亡的过程,是一个动态的概念。在执行的任何时刻,只有一个执行点。,一、线程及多线程的概念,,多线程(Multi-Threads)多线程是相对于单线程而言的,指的是在一个程序中可以定义多个线程并同时运行它们,每个线程可以执行不同的任务。与多进程不同的是,同类多线程共享一块内存空间和一组系统资源,所以,系统创建多线程花费单价较小。因此,也称线程为轻负荷进程。,例如:在线看电影,播放程序在播放的同时也在下载。,一、线程及多线程的概念,,线程与进程的区别 线程并不是一个完整的程序,它自己本身并不能独立运行,只能包含在程序中、只能在进程内部执行。,process,process,一、线程及多线程的概念,,线程与进程的区别 多个进程的内部数据和状态都是完全独立的。 线程本身的数据通常只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要小。 属于同一进程的所有线程共享该进程的内存空间和一组系统资源,所以线程之间切换的速度比进程切换要快得多。,二、Java中的线程技术,,Java的线程是通过软件包java.lang中定义的类Thread来实现的。当生成一个Thread类的对象之后,就产生了一个线程,通过该对象,可以启动线程、终止线程、或者暂时挂起线程等。,二、Java中的线程技术,,Thread在Java包中的层次关系:所有已实现的接口:Runnable Thread类的原型:public class Thread extends Object implements Runnable{},二、Java中的线程技术,,Runnable接口:java.lang.RunnableRunnable的原型:public interface Runnable {void run();},二、Java中线程的创建,,,二、Java中线程的创建,,,二、Java中线程的创建,,,二、Java中线程的创建,,,二、Java中线程的创建,,通过扩展Thread类创建线程-方法一 1.创建Thread类的子类。 2.重写Thread类中的run()方法。 3.创建子类的对象。 4.调用线程对象的start()方法。例子.ThreadTest.java,二、Java中线程的创建,,通过扩展Thread类创建线程-方法一 1.创建Thread类的子类。 2.重写Thread类中的run()方法。 3.创建子类的对象。 4.调用线程对象的start()方法。例子.ThreadTest.java,二、Java中线程的创建,,例子.ThreadTest.java,二、Java中线程的创建,,实现Runnable接口创建线程-方法二 1.创建实现接口Runnable的类。 2.实现接口Runnable中的run()方法。 3.创建实现了Runnable接口的类对象。 4.将3中创建的对象作为参数,创建Thread类对象。 5.调用线程对象的start()方法。例子.AppletThreadTest.java,二、Java中线程的创建,,,二、Java中线程的创建,,例子.RunnableThreadTest.java,二、线程的状态和生命周期,,,线程的状态,二、线程的状态和生命周期,,,线程的生命周期 1.新建 2.就绪 3.运行 4.阻塞 5.死亡,二、线程的状态和生命周期,,,1.新建当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。此时它已经有了相应的内存空间和其他资源,并已被初始化。 2.就绪处于新建状态的线程被启动后,将进入线程队列排队等待CPU时间片,此时它已经具备了运行的条件,一旦轮到它来享用CPU资源时,就可以脱离创建它的主线程独立开始自己的生命周期了。另外,原来处
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:第十二章 Java多线程编程.ppt
链接地址:https://www.weizhuannet.com/p-10071096.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

微传网博客

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开