- 6
- 0
- 约3.72千字
- 约 29页
- 2016-06-20 发布于江西
- 举报
大学教程(从零开始)多线程
8.1线程的基本概念 什么是线程? 线程就是程序中单独顺序的流控制。线程本身不能运行,它只能用于程序中。 线程(thread)就是进程中的一个执行线索。Java虚拟机允许进程中同时执行多个线程。每个线程都有一个优先级。具有较高优先级的线程先执行。 线程是操作系统分配 CPU 时间的基本实体。每一个应用程序至少有一个线程,也可以拥有多个线程。线程是程序中的代码流。多个线程可以同时运行并能共享资源。 线程与进程不同,每个进程都需要操作系统为其分配独立的地址空间,而同一进程中的各个线程是在同一块地址空间中工作。 在 Java 程序中,一些动态效果(如动画的实现、动态的字幕等)常利用多线程技术来实现。 什么是多线程? 多线程则指的是在单个程序中可以同时运行多个不同的线程执行不同的任务. 8.1.1线程的生命周期 线程的生命周期:一个线程从创建到死亡的过程。 线程的生命周期可分为五个状态: 创建状态 就绪状态 运行状态 阻塞状态 死亡状态 第8章 多线程 * 线程的生命周期 线程的状态转换图: * 线程的生命周期 创建状态 当用new操作符创建一个新的线程对象时,该线程处于创建状态。 处于创建状态的线程只是一个空的线程对象,系统不为它分配资源 此时只能调用start方法启动该线程,调用其它任何方法都会产生线程非法状态异常。 * 线程的生命周期 2. 就绪状态 执行线程的start()方法将为线程分配必须的系统资源,安排其运行,并调用线程体—run()方法,这样就使得该线程处于可运行( Runnable )状态。 这一状态并不是运行中状态(Running ),因为线程也许实际上并未真正运行。 * 线程的生命周期 3. 运行状态 是某个就绪状态的线程获得CPU资源,正在运行, 如果有更高优先级的线程进入就绪状态,则该线程就被迫放弃对CPU的控制进入就绪状态,可使用yield ()方法主动放弃CPU,也可能由于执行结束或执行stop()方法进入死亡状态. * 线程的生命周期 4.阻塞状态 当发生下列事件时,处于运行状态的线程会转入到阻塞状态。 调用了sleep()方法; 线程调用wait方法所等待的特定条件的满足 线程输入/输出阻塞 * 线程的生命周期 从阻塞状态恢复到就绪状态三种途径: 处于睡眠状态的线程在指定的时间过去后 如果线程在等待某一条件,另一个对象必须通过notify()或notifyAll()方法通知等待进程条件的改变 如果线程是因为输入/输出阻塞,输入/输出完成 * 8.1.2线程的优先级 1. 线程的优先级及其设置 设置优先级是为了在多线程环境中便于系统对线程的调度,优先级高的线程将优先执行 一个线程的优先级设置遵从以下原则: 线程创建时,子进程继承父进程的优先级 线程创建后,可通过调用setPriority()方法改变优先级。 线程的优先级是1-10之间的正整数。 1 - MIN_PRIORITY, 10 – MAX_PRIORITY 5- NORM_PRIORITY * 线程的优先级 线程的调度策略 线程调度器选择优先级最高的线程运行。但是,如果发生以下情况,就会终止线程的运行 线程体中调用了yield()方法,让出了对CPU的占用权 线程体中调用了sleep()方法, 使线程进入睡眠状态 线程由于I/O操作而受阻塞 另一个更高优先级的线程出现。 在支持时间片的系统中,该线程的时间片用完。 * 线程的生命周期 5. 死亡状态 当线程的run方法执行结束后,该线程自然 死亡。 * 8.2线程的实现 在Java中通过run方法为线程指明要完成的任务,有两种技术来为线程提供run方法。 继承Thread类并重载run方法。 通过定义实现Runnable接口的类进而实现run方法。 * 线程的实现 继承Thread类并重载run方法。 Thread类:是专门用来创建线程和对线程进行操作的类。Thread中定义了许多方法对线程进行操作。 Thread类在缺省情况下run方法是空的。可以通过继承Thread类并重写Thread类的run方法实现用户线程。 * 线程的实现 继承Thread类并重载run方法。 总体结构如下: public class MyThread extends Thread { public void run() { … … } } MyThread t = new MyThread(); t. start(); * 线程的实现 执行Runnable接口的类实现run方法。 通过建立一个实现了R
您可能关注的文档
- 唐诗宋词课件 3.ppt
- 商务旅游高级接待中心九华山庄九寨天堂鸣泉居从化碧水湾.ppt
- 四Excel部分.ppt
- 四年级上语文课件-长城-人教新课标.ppt
- 四年级下册一单元 刘丽增.ppt
- 四年级语文2015《长城》.ppt
- 四年级美术下册 美丽的蝴蝶 课件 人教新课标版.ppt
- 四年级语文作文训练与范文赏析6.ppt
- 四年级趣味阅读和单词.pptx
- 园林制图课件(透视).ppt
- 人教版九年级英语Unit 4曾害怕课件3a-4c.pdf
- 雅思口语考题回顾:朗阁海外考试研究中心2019年10月10日Part 1考题总结.pdf
- 2026届高三地理一轮复习课件小专题河流袭夺.pptx
- 【名师原创】复习专题5 三角函数 作者:合肥市第八中学 蒲荣飞名师工作室.docx
- 高中数学一轮复习 微专题2 抽象函数.docx
- 高中数学——复习专题4 空间向量与立体几何.docx
- 高中数学一轮复习 微专题3 空间几何体中的截面、轨迹问题.docx
- 高中数学一轮复习 微专题4 空间几何体的最值、范围问题.docx
- 导流洞施工质量通病防治手册.docx
- 江苏省徐州市第一中学、徐市第三中学等五校2026届高三上学期12月月考历史试题含答案.docx
最近下载
- 足浴消防应急预案.docx VIP
- 大成精密:β射线面密度仪的工作原理是什么?.ppt VIP
- 《护士执业证书》信息修改申请表.pdf VIP
- TinyOS操作系统开发技术及实践课件实践4TinyOS应用开发.ppt
- 中国人民大学核心期刊目录2022版 .docx
- 湖南省永州市2023-2024学年高二上学期期末质量监测数学试题(解析版).docx VIP
- 住院病人防烫伤的宣教.pptx VIP
- 09J908-3 建筑围护结构节能工程做法及数据.docx VIP
- 杭叉 新X系列 5-10T 叉车零件图册.pdf VIP
- 普通高中英语课程标准(2017年版-2020年修订)词汇表.pdf VIP
原创力文档

文档评论(0)