内蒙古科技大学 教 案 第九章多线程 本章学习重要目标: 握进程的概念 掌握线程的概念 掌握线程调度、线程状态 掌握实现线程的两种编程方法 §9.1进程的概念 进程是一个动态的过程。程序是为完成特定任务、用某种语言编写的一组指令的 集合。指一段静态的代码。 进程是程序的一次动态执行过程,是系统进行调度和资源分配的一个独立单位。 数据以及堆栈等资源。 §9.2多进程的概念 多进程系统是指:多个程序同时运行 运行1个QQ程序 运行1个音乐播放器 运行1个浏览器 3个得序同时运行 假设在10秒钟内,3个程序都运行了,宏观上我们感觉3个程序同时运行。 但是微观上,3个程序是分时运行的。 §9.3线程的概念 线程是比进程更小的执行单位 个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索, 即每个线程也有它自身的产生、存在和消亡的过程。 线程也是一个动态的概念 Jaa语言的一个重要功能特点就是内置对多线程的支持,它使得编程人员可以很 方便地开发出具有多线程功能,能同时处理多个任务的功能强大的应用程序,方便地 实现任务的并发处理。 个线程有它自己的入口和出口,以及一个顺序执行的序列。线程不能独立存在 必须存在于进程中,各线程间共享进程空间的数据。多线程是指同时存在几个执行体 按几条不同的执行线索共同工作的情况。 第1页
内 蒙 古 科 技 大 学 教 案 第 1 页 第九章 多线程 本章学习重要目标: 掌握进程的概念 掌握线程的概念 掌握线程调度、线程状态 掌握实现线程的两种编程方法 §9.1 进程的概念 进程是一个动态的过程。程序是为完成特定任务、用某种语言编写的一组指令的 集合。指一段静态的代码。 进程是程序的一次动态执行过程,是系统进行调度和资源分配的一个独立单位。 它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身 从产生、发展至消亡的过程。操作系统为每个进程分配一段内存空间,包括:代码、 数据以及堆栈等资源。 §9.2 多进程的概念 多进程系统是指:多个程序同时运行 运行 1 个 QQ 程序 运行 1 个音乐播放器 运行 1 个浏览器 3 个程序同时运行。 假设在 10 秒钟内,3 个程序都运行了,宏观上我们感觉 3 个程序同时运行。 但是微观上,3 个程序是分时运行的。 §9.3 线程的概念 线程是比进程更小的执行单位。 一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索, 即每个线程也有它自身的产生、存在和消亡的过程。 线程也是一个动态的概念。 Java 语言的一个重要功能特点就是内置对多线程的支持,它使得编程人员可以很 方便地开发出具有多线程功能,能同时处理多个任务的功能强大的应用程序,方便地 实现任务的并发处理。 一个线程有它自己的入口和出口,以及一个顺序执行的序列。线程不能独立存在, 必须存在于进程中,各线程间共享进程空间的数据。多线程是指同时存在几个执行体, 按几条不同的执行线索共同工作的情况
内蒙古科技大学 教案 §9.4主线程 每个Java Application程序都有一个隐含的主线程。当VM加载代码,发现mai 方法之后,就会启动一个线程,这个线程称作“主线程”,该线程负责执行mai方法 如果main方法中没有创建其他的线程,那么当main方法执行光最后一个语句, 即main方法返回时,JVM就会结束我们的Java应用程序。 如果man方法中又建了其他线程.那么V八M或要在主线程和其他线得之间封 流切换,保证每个 程都有机会使用CPU资源,man 方法即使执行完最后的 吾句,JV 也不会结束我们的程序,JVM一直要等到程序中的所有线程都结束之后,才结束Jv 应用程序。 第2页
内 蒙 古 科 技 大 学 教 案 第 2 页 §9.4 主线程 每个 Java Application 程序都有一个隐含的主线程。当 JVM 加载代码,发现 main 方法之后,就会启动一个线程,这个线程称作“主线程”,该线程负责执行 main 方法。 如果 main 方法中没有创建其他的线程,那么当 main 方法执行完最后一个语句, 即 main 方法返回时,JVM 就会结束我们的 Java 应用程序。 如果 main 方法中又创建了其他线程,那么 JVM 就要在主线程和其他线程之间轮 流切换,保证每个线程都有机会使用 CPU 资源,main 方法即使执行完最后的语句,JVM 也不会结束我们的程序,JVM 一直要等到程序中的所有线程都结束之后,才结束 Java 应用程序