第10章 jva 多线程编程.docVIP

  • 5
  • 0
  • 约1.66万字
  • 约 15页
  • 2016-10-16 发布于贵州
  • 举报
第10章 jva 多线程编程

第10章 多线程 2 总体概要 2 相关知识 2 学习重点 2 内容框架 2 10.1多线程的概念 2 10.1.1程序、进程和多任务 3 (一).程序(program) 3 (二)多任务 3 10.1.1线程 3 10.1.2多线程 3 10.1.3线程的生命周期与多线程机制 4 (一)线程的生命周期与状态 4 (二)java的多线程机制 4 10.2创建线程 4 10.2.1通过继承Thread类创建线程 4 (一)Thread类的构造方法 4 (二)Thread类的常用方法 5 (三)继承Thread类创建线程 5 10.2.2通过实现Runnable接口创建线程 7 (一)Runnable接口方法 7 (二)实现Runn Thread和Runnable实现线程 8 (三) Thread和Runnable实现线程的比较 9 10.3线程的状态转换 9 10.4线程的优先级与调度 10 10.4.1线程的优先级 10 (一)Thread类定义了基本3个常数 11 (二)线程先优级的使用 11 10.4.2线程的的状态 12 (一)挂起一个线程 12 (二)停止一个线程 12 (三)线程睡眠 12 (四)线程等待 12 (五)线程让步 13 (六)线程加入 13 (七)线程唤醒 13 10.5线程的同步 13 10.6何时使用多线程及注意问题 14 10.7小结 14 10.8习题 15 第10章 多线程 总体概要 了解多线程的概念:程序,进程和多任务 撑握线程的生命周期 理解java的多线程机制 熟练撑握实现线程两种方法:Thread类和Runnable接口以有这两种方法的区别 熟练撑握Thread类的构造方法和常用方法 线程优先级和线程调度 能自己写出自己的多线程程序 使用线程注意事项 相关知识 线程优先级 线程的转换 并发与并行 学习重点 线程的生命周期 线程的两种方法的实现 线程之间的状态转换 内容框架 10.1多线程的概念 本章介绍java语言的多线程编程的相关知识,java提供了十分强大的多线程实现机制,它使得编程人员可以方便地编写多线程应用程序。在一个应用程序中可以包含多个线程,每一个线程都具有特定的程序功能,并且可以与其他线程并发执行,java提供了Tread类和Runnable接口为多线程提供支持。 首选为大家介绍多线程编程的基本概念,以及与多线程有关的概念,如程序,进程,多任务等。 10.1.1程序、进程和多任务 (一).程序(program) 程序是对数据描述与操作的代码的集合,是应用程序执行的脚本进程(process)是程序的一次执行过程,是操作系统运行程序的基本单位,程序是静态的,进程是动态的。系统运行一个程序就是一个进程从创建、运行到消亡的过程。 (二)多任务 多任务是指在一个系统中可以同时运行多个程序,即有多个独立运行的任务,每一个任务对应一个进行。例如,你一在Window操作系统中打开QQ程序,也打开Word,Eclipse程序。 【注意】一个CPU在同一时刻只能执行一个程序的一条指令,实际上,多任务运行的并发机制这些任务交替运行,因间隔时间短,所以你感觉就是多个程序在同时运行。 10.1.1线程 线程又称为轻量级进程,它是控制线程(thread of control)的缩写.Java语言是利用内在支持多线程,而其它大部分计算机编程语言都是利用外部软件实现的多线程。Java的每一个程序自动拥有一个线程 ,称为主线程。当程序加载到内存时,启动主线程。要加载其它线程,程序就要便 用Thread类或Runnable接口。 (二)java的多线程机制 java.lang中的线程类Thread封装了所有需要的线程控制,有很多方法用来控制一个线程的运行、休眠、挂起或停止。这就是java的多线程机制。 使用java的多线程机制编程可将程序的任务分解为几个并行的子任务,通过线程并发招待来加速程序运行,提 高CPU的利用率。例如,在网總编程囊,有很多功能可以并发执行,网络传输带度一般较慢,用户输入速度也较慢,你可以设计两下独立线程分别完成这两个任务鸸不影响政党的显示或期货功能。在编写动画程序时,你可以用一个线程进行延时,让另一个线程在延时中准备要显示的画面,心实现完美 的动画 显示. 10.2创建线程 实现多线程的两个方法:通过继承线程类Thread来创建线程类;实现Runnable 接口的类来创建线程。下面分别对这两种方法进行讲解. 10.2.1通过继承Thread类创建线程 (一)Thread类的构造方法 Thread()分配新的 Thread 对象Thread(Runnable?target)分配新的 Thread 对象Thread(Runnable?target, String?name)分

文档评论(0)

1亿VIP精品文档

相关文档