- 9
- 0
- 约 37页
- 2015-08-14 发布于湖北
- 举报
Java多线程).ppt
9.1 多线程的概念 进程和线程 进程的定义: 一个具有独立功能的程序关于某个数据集合的一次运行活动。 一个进程由一个或多个线程运行,线程是操作系统分配CPU运行时间最小单位。 线程的定义: 线程是进程中可独立调度执行的子任务,一个进程可以有一个或多个线程,它们共享所属进行所拥有的资源。 多线程 多线程是这样一种机制,它允许在程序中“并行”执行多个指令流,每个指令流被称作一个线程,彼此间的执行互相独立。多线程需要操作系统的支持,WIN32平台支持多线程程序,允许程序中存在多个线程。在单CPU计算机系统中,系统把CPU的时间片按照调度算法分配给各个线程,因此各线程实际上是分时执行的,而在多CPU的计算机系统中,同一个程序的不同线程可以分配到不同的CPU上去执行。多个线程的执行是并发的,也就是在逻辑上“同时”,而不是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速度非常快,用户感觉不到其中的区别,因此我们也不用关心它,只需要设想各个线程是同时执行即可。 线程的运行 一个程序并发的运行多个线程,这些线程同时在多处理器上运行,也可以在单处理器系统中分享CPU时间。 多线程的优点 多线程使程序反应更快,交互性更强,并能提供执行效率。 多线程使得程序员可以编写高效的程序,因此它充许使用大多数程序中的空闲时间,大多数IO设备,包括网络端口,磁盘驱动器和键盘,都比CPU运行得慢,因此一个程序的运行时间大部分经常花费在等待设备传输信息,通过多线程可以利用这个空闲时间。 线程的创建 在Java中,每个程序至少自动拥有一个线程,称为主线程,当程序加载到内存时,启动主线程,如果需要使用其它线程,则可以采用以下两种方式创建新的线程:一种是扩展java.lang.Thread类,用它覆盖Thread类的run( )方法;另一种是编写一个类,使之实现java.lang.Runnable接口,然后在Thread构造函数中使用它。 第一种方式只能在类没有扩展其它任何类的情况下才能使用,因为Java不允许多重继承。因此,如果一个类要继承其它的类,最好选用第二种方法,这样会有更大的灵活性。下面分别介绍两种创建线程的方式。 1.扩展Thread类 类Thread位于java.lang包中,由于java.lang包自动被导入每个Java程序中,所以可以直接使用类Thread而无需在Java程序开始处编写import语句,也这说明了Java对线程支持的彻底性。通过这个类中的方法,可以启动、终止、中断线程以及查询、设置线程的当前状态。 使用扩展Thread类的方式创建并执行一个线程,需要执行下面4个步骤: 扩展java.lang.Thread的类; 用希望的执行代码来实现run()方法; 通过new关键字实例化该类的一个新对象(即一个线程); 通过调用start()方法启动线程。 例:通过继承Thread类来实现多线程 public class TestThread { public static void main(String[] args) { PrintChar printA = new PrintChar(a,100); PrintChar printB = new PrintChar(b,100); PrintNum print100 = new PrintNum(100); print100.start() ; printA.start() ; printB.start() ; } } class PrintChar extends Thread{ private char charToPrint ;// The character to print; private int times; //the times to repeat; public PrintChar(char c ,int t){ charToPrint = c; times =t; } public void run(){ for (int i=1;itimes;i++){ System.out.print(charToPrint); } } } class PrintNum extends Thread{ private int LastNum; public PrintNum(int n){ LastNum = n; } publ
您可能关注的文档
最近下载
- 培智六年级生活数学期末试卷ABC卷.doc VIP
- 贵州省贵阳市普通中学2022-2023学年高三上学期期末语文(解析版).docx VIP
- 港口机械钢结构制造规范.pdf VIP
- 综合管廊施工组织设计.pptx VIP
- FloEFD 2312(Standalone)软件实例教程 第7-8章.pdf VIP
- 武勇 木质素性能应用及WPWG难点分析.pptx VIP
- 新青岛版(六三制)四年级上册科学全册精编知识点(超全).pdf
- 合盛硅业年产10万吨硅油项目环评可研资料环境影响.docx VIP
- 全国棉花交易市场电子仓单操作手册(仓库端,1.0版).PDF
- 7 杜凤沛 场景导向的省力化农药递送体系-青岛.pdf VIP
原创力文档

文档评论(0)