第8章多线程 8.1线程概述 8.2多线程设计 8.3线程同步与死级 点专此处结束放殃 4合
第8章 多线程 8.1 线 程 概 述 8.2 多线程设计 8.3 线程同步与死锁
81线程概述 8.1.1程序,进程,线程和多线程 程序是由若干条语句组成的语句序列, 是一段静态代码。 进程是程序的一次动态执行过程。 线程包含了一个计算机执行传统程序 时所做的每一件事情 多线程是指同一个应用程序中有多个 顺序流同时执行 点专此处结束放殃 4合
8.1 线 程 概 述 8.1.1 程序、进程、线程和多线程 程序是由若干条语句组成的语句序列, 是一段静态代码。 进程是程序的一次动态执行过程。 线程包含了一个计算机执行传统程序 时所做的每一件事情。 多线程是指同一个应用程序中有多个 顺序流同时执行
8.1.2线程状态和生命周期 1.新建状态 2.就绪状态 3.运行状态 64.阻塞状态 5,消亡状态 点专此处结束放殃 4合
8.1.2 线程状态和生命周期 1.新建状态 2.就绪状态 3.运行状态 4.阻塞状态 5.消亡状态
78.1.3线程优先级和线程调度 在JaVa语言中,线程的优先级是用数字来表示 的,范围为1~10,如设置某线程优先级为5。另 外 Thread类提供3个有关线程优先级的静态属性: NORM PRIORITY:代表普通优先级、默认优 先级,缺省为5 MN PRIORITY:代表最低优先级,通常为1 MAX PRIORITY:代表最高优先级,通常为10 点专此处结束放殃 4合
8.1.3 线程优先级和线程调度 在Java语言中,线程的优先级是用数字来表示 的,范围为1~10,如设置某线程优先级为5。另 外Thread类提供3个有关线程优先级的静态属性: NORM_PRIORITY:代表普通优先级、默认优 先级,缺省为5 MIN_PRIORITY:代表最低优先级,通常为1 MAX_PRIORITY:代表最高优先级,通常为10
对于一个新建线程,系统会遵循如下 的原则为其指定优先级: (1)继承创建它的父线程的优先级 (2)通过调用 Thread类的 setPriority(inta)方法来设置线程的优先级。 点专此处结束放殃 4合
对于一个新建线程,系统会遵循如下 的原则为其指定优先级: (1)继承创建它的父线程的优先级。 ( 2 ) 通过调用 Thread 类 的 setPriority(int a)方法来设置线程的优先级
当一个在就绪队列中排队的线程获得 CPU资源而转入运行状态后,则称这个线 程被调度。线程的调度遵循优先级基础上 的抢先策略。抢先策略是指如下几个方面。 (1)若一个比当前活动线程优先级更 高的线程进入就绪状态时,则停止当前活 动线程的执行,当前活动线程转入阻塞状 态,插入就绪队列中重新等待调度,而优 先级高的线程转入运行状态,成为活动线 程。 点专此处结束放殃 4合
当一个在就绪队列中排队的线程获得 CPU资源而转入运行状态后,则称这个线 程被调度。线程的调度遵循优先级基础上 的抢先策略。抢先策略是指如下几个方面。 (1)若一个比当前活动线程优先级更 高的线程进入就绪状态时,则停止当前活 动线程的执行,当前活动线程转入阻塞状 态,插入就绪队列中重新等待调度,而优 先级高的线程转入运行状态,成为活动线 程
(2)若一个比当前活动线程优先级低 的线程进入就绪状态时,则当前活动线程 不停止继续执行,刚进入就绪状态的线程 在就绪队列等待调度。 (3)若一个与当前活动线程优先级相 同的线程进入就绪状态时,则遵循“先到 先服务”原则 点专此处结束放殃 4合
(2)若一个比当前活动线程优先级低 的线程进入就绪状态时,则当前活动线程 不停止继续执行,刚进入就绪状态的线程 在就绪队列等待调度。 (3)若一个与当前活动线程优先级相 同的线程进入就绪状态时,则遵循“先到 先服务”原则
82多线程设计 78.2.1继承 Thread类 8.2.,2用实现 Runnable接口实 现多线程 点专此处结束放殃 4合
8.2 多线程设计 8.2.1 继承Thread类 8.2.2 用实现Runnable接口实 现多线程
83线程同步与死锁 1.线程同步 线程死锁 点专此处结束放殃 4合
8.3 线程同步与死锁 1.线程同步 2.线程死锁