- 6
- 0
- 约4.63千字
- 约 20页
- 2017-05-30 发布于北京
- 举报
第 10 章 多线程程序设计 线程的定义 进程是一个用来描述处于动态运行状态的应用程序的概念,即一个进程就是一个执行中的程序,每个进程都有一块自己独立的地址空间,并可以包含多个线程。这些线程将共享进程的地址空间及操作系统分配给这个进程的资源。 线程是指进程中的一个执行流,多线程是指在一个进程中同时运行多个不同线程,每个线程分别执行不同的任务。 10.1 创建线程 创建线程的两种方法: 利用Thread类创建线程 利用Runnable接口创建线程 1、利用Thread类创建线程 使用这种方式创建、启动线程的基本过程: 声明一个Thread类的子类,并且覆盖其中的run() 成员方法,并将线程执行的程序代码写在其中。 使用时通过调用Thread类提供的start() 方法间接地使用它。 例:利用Thread类创建线程 public class MyThread_1 extends Thread { public void run() { …… } } public class MultiThread_1 { public static void main(String args[ ]) { Thread t1 = new MyThread_1(); t1.setName(T1); Thread t2 = new MyThread_1(); t2.setName(T2); t1.start(); t2.start(); } } 2、利用Runnable接口创建线程 使用这种方式创建、启动线程的基本过程: 声明一个实现Runnable接口的类。 以实现Runnable 接口的类对象为参数创建一个Thread 类对象。 调用Thread类对象的start() 方法启动线程。 例:利用Runnable接口创建线程 public class MyThread_2 implements Runnable { … public void run( ) { …… } } ? public class MultiThread_2 { public static void main(String args[ ]) { MyThread_2 thread = new MyThread_2( ); Thread threadObj = new Thread(thread); threadObj.start(); } } 10.2 线程状态的转换 一个线程的生命周期中,有四个状态,线程就是在这4个状态之间不断变换,直到死亡为止。 线程的优先级 每一个线程都有一个优先级 ,在Thread类中有3个常量MIN_PRIORITY、MAX_PRIORITY、NORMAL_PRIORITY分别表示优先级为1、10和5,它们代表最低优先级、最高优先级和普通优先级。 可以调用Thread类的setPriority(int level) 成员方法为某个线程设置优先级。 例如,假设threadObj是一个Thread类对象,可以用 threadObj.setPriority(6);设置优先级。 10.3 线程控制 基本的线程控制方法 启动线程 start() 阻塞线程 wait() 唤醒线程 notify() 或 notifyAll() 或 interrupt() 线程让步 yield() 等待其它线程结束 join() 判断线程是否处于活动状态 isAlive() 10.4 多线程的同步与互斥 一般来说线程之间不是孤立的,多个线程可能共享某些资源。比如,一个线程要读取数据,另外一个线程要处理这些数据。因此,系统必须对线程进行同步控制,等到第一个线程读取完数据,第二个线程才能处理该数据,从而避免错误。 简单地说,在一个时刻只能够被一个线程访问的资源称为临界资源,而访问临界资源的那段代码则被称为临界区。临界区的使用必须互斥地进行,即一个线程在临界区中执行代码时,其它线程不能够进入临界区。 synchronized Java中,引入了对象”互斥锁”的概念,来保证共享数据操作的完整性。每个Java对象都对应于一个”互斥锁”标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。一旦某个线程获得了该锁,别的线程如
您可能关注的文档
- 青岛出版社初中信息技术教材培训.ppt
- 青山市调报告.ppt
- 高中历史试卷讲评课.ppt
- 青岛啤酒技能培训第二部分第二节麦汁过滤、煮沸、澄清、冷却工艺介绍.ppt
- 青岛国际建筑节能博览会.ppt
- 高中历史:1.3《古代中国的商业经济》课件(人民版必修2)1.ppt
- 高中地理必修一学会应用地形图.ppt
- 青岛版一年级数学下册《厘米、米的认识练习》PPT课件.ppt
- 青岛旅游项目提案(全).ppt
- 青岛版三年级数学下册除数是两位数的笔算除法.ppt
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
最近下载
- 500t吊车性能表(中文版).pdf VIP
- 人教版八年级上历史知识点总结 .doc VIP
- 米莉的帽子变变变精品解析.ppt VIP
- 职业教育人工智能应用发展报告(2024-2025).pptx VIP
- 2025年高等教育医学类自考-03037药用植物学考试近5年真题集锦(频考类试题)带答案.docx VIP
- TCAQ10201-2024质量管理小组活动准则_可搜索.pdf VIP
- 确定肿瘤的重要基因信息——提取基因图谱信息方法的研究.pdf VIP
- 事业单位嫖娼违法写检讨书.docx VIP
- 人教版物理8年级下册全册教学课件.pptx
- 第二十五章+图形的相似(复习课件)数学冀教版九年级上册.pptx VIP
原创力文档

文档评论(0)