第9章 多线程

合集下载

Java编程基础及应用(第2版)教学课件第9章Java多线程机制

Java编程基础及应用(第2版)教学课件第9章Java多线程机制
进程是程序的一次动态执行 过程,它对应了从代码加载、执 行至执行完毕的一个完整过程, 这个过程也是进程本身从产生、 发展至消亡的过程。
现代操作系统可以同时管理 一个计算机系统中的多个进程, 即可以让计算机系统中的多个进 程轮流使用CPU资源。
§9.1.2 进程与线程
线程是比进程更小的执行 单位,一个进程在其执行过程 中,可以产生多个线程,形成 多条执行线索,每条线索,即 每个线程也有它自身的产生、 存在和消亡的过程。
例题1
§9.2.3 线程调度与优先级
处于就绪状态的线程首先进入就绪队列排队等候 CPU资源,同一时刻在就绪队列中的线程可能有多个。 Java虚拟机(JVM)中的线程调度器负责管理线程, 调度器把线程的优先级分为10个级别,分别用Thread 类中的类常量表示。
Java 调 度 器 的 任 务 是 使 高 优 先 级 的 线 程 能 始 终 运 行 , 一旦时间片有空闲,则使具有同等优先级的线程以轮流 的方式顺序使用时间片。
5.currentThread():该方法是Thread类中的类方法,可以用类名调用,该方法
返回当前正在使用CPU资源的线程。
6.interrupt() :一个占有CPU资源的线程可以让休眠的线程调用interrupt()方
法“吵醒”自己,即导致休眠的线程发生InterruptedException异常,从而结束休眠, 重新排队等待CPU资源。
例子5
例子5中有两个线程:会计和出纳,他俩共同拥有一个帐本。 他俩都可以使用saveOrTake(int amount)方法对帐本进行访问, 会计使用saveOrTake(int amount)方法时,向帐本上写入存钱记 录;出纳使用saveOrTake(int amount)方法时,向帐本写入取钱 记录。因此,当会计正在使用saveOrTake(int amount)时,出纳 被禁止使用,反之也是这样。

Java高级语言程序设计期末复习资料(1)

Java高级语言程序设计期末复习资料(1)

第1章、Java语言简介第2知识点、Java程序的开发过程【单项选择】1 、下列关于classpath环境变量的说法中,哪一个是正确的(难度系数:易)A、classpath配置一次后可永久使用B、没有classpath环境变量就不能运行Java程序C、classpath环境变量可以让虚拟机找到class文件的目录D、查看当前classpath配置的命令是:classpath参考答案:C答案解析:classpath环境变量可以让虚拟机找到class文件目录,没有配置classpath环境变量时,java虚拟机会自动将其设置为“.”。

查看当前classpath的命令是set classpath;【单项选择】2 、在下列说法中,选出最正确的一项是( )。

(难度系数:易)A、Java语言是以类为程序的基本单位的B、Java语言是不区分大小写的C、多行注释语句必须以//开始D、在Java语言中,类的源文件名和该类名可以不相同参考答案:A【单项选择】3 、Java属于以下哪种语言? (难度系数:易)A、机器语言B、汇编语言C、高级语言D、以上都不对参考答案:C答案解析:Java是一门高级编程语言【单项选择】4 、下列选项中不属于Java虚拟机的执行特点的一项是( )。

(难度系数:易)A、异常处理B、多线程C、动态链接D、简单易学参考答案:D【单项选择】5、下列命令中,可以将文档注释提取出来生成帮助文档的是()(难度系数:易)A、javacB、javaC、javadocD、jar参考答案:C答案解析:可以使用javadoc命令将文档注释提取出来生成帮助文档【单项选择】6 、下列关于Java特点的描述中,错误的是?(难度系数:易)A、Java语言不支持指针B、Java具有自动垃圾回收的机制C、Java只能运行在Window和Linux平台D、Java允许多个线程同时执行参考答案:C答案解析:JAVA是一门面向对象的语言,它没有指针的概念,并提供了自动垃圾回收的机制,具有跨平台,多线程等特点。

《计算机组成与系统结构》课件第9章

《计算机组成与系统结构》课件第9章

2) 多级互连网络 另一种组织与控制更为有效的交换网络是基于a×b交换 开关构造而成的。2×2交换开关是一种最常用的二元开关, 如图9.13(a)所示,它有两个输入和两个输出,从任意输入 线到达的消息都可以交换到任意的输出线上。
图 9.13 2×2的交换开关
图 9.14 Omega网络
多级互连网络设计的关键是: (1) 选择何种交换开关; (2) 交换开关之间采用何种拓扑连接; (3) 对交换开关采用何种控制方式。
图 9.3 计算机分类
9.3 阵列处理机和向量处理机
9.3.1 阵列处理机 阵列处理机属于分布式内存SIMD(DM-SIMD)系统,它
由许多在不同数据集合上执行同样指令序列、完成同样功能 的完全相同的处理器组成。阵列处理机中的处理器共享一 个控制器(所以它不是通常意义上的独立CPU),控制器发布 指令,指令由处理器阵列中的处理器执行。因为阵列机中的 所有处理器是以步调一致的方式工作的,所以处理器之间不 需要同步,这就大大简化了这种系统的设计。
向量-寄存器处理器的基本组成如图9.5所示,它是以 Cray-1为基础的一个模型,标量部分是MIPS,向量部分是 MIPS的逻辑向量扩展,其主要模块功能如下:
(1) 向量寄存器组。 (2) 向量功能单元。 (3) 向量Load-Store部件。 (4) 标量寄存器组。
图 9.5 基本的向量-寄存器体系结构
9.4 互 连 网 络
9.4.1 基本概念 互连网络(Interconnection Network)是一种由开关元件按
照一定的拓扑结构和控制方式构成的网络,用于实现计算机 系统中部件之间、处理器之间、部件与处理器之间甚至计 算机之间的相互连接,
根据连接的设备数和设备的接近程度,可以将互连网络 分为以下四类:

Java程序设计教程 第九章

Java程序设计教程 第九章

9.1.2ava中,每个线程从创建到消亡为一个生 Java中,每个线程从创建到消亡为一个生 存周期,它将经历四个状态: (1)新建状态(New Thread Status )新建状态(New (2)可执行状态(Runnable) )可执行状态(Runnable) (3)阻塞状态(Blocked) )阻塞状态(Blocked) (4)消亡状态(Dead thread) )消亡状态(Dead thread)
9.1.2 线程的控制
4. 终止一个线程 在程序中不能任意终止一个线程,否则可能 造成严重的线程安全问题.一个线程的终止 必须靠run()方法的正常返回.当一个线程从 必须靠run()方法的正常返回.当一个线程从 run()方法返回后,它就进入消亡状态,再也 run()方法返回后,它就进入消亡状态,再也 不能被运行了.结束run()方法还有另一种途 不能被运行了.结束run()方法还有另一种途 径,那就是在run()方法中抛出了异常,如果 径,那就是在run()方法中抛出了异常,如果 这些异常没有被捕获,JVM将会终止该线程. 这些异常没有被捕获,JVM将会终止该线程.
9.1.1 线程的概念
与程序的顺序执行相对的是程序的并发执行, 即一组逻辑上互相独立的程序或程序段在执 行过程中,其执行时间在客观上互相重叠. 程序的并发执行可以分成两种情况:一种是 多道程序系统中多道程序的并发执行,此种 情况下实际上是宏观上(程序级)同时进行, 微观上(指令级)顺序执行的;另一种是在 某道程序段的几个程序片段中,包含着一部 分可以同时执行或顺序颠倒执行的代码.程 序的并发执行是实现多线程技术的基础.
9.1.1 线程的概念
线程与进程类似,是一段完成特定功能的代 码.它是程序中单个顺序的控制流,也是一 个进程内的基本调度单位.线程和进程一样 拥有独立的执行控制,并由操作系统负责调 度.同一进程可以包含多个线程,这些线程 共享属于该进程的一块内存空间和一组系统 资源;而线程自身的数据通常只有微处理器 的寄存器数据,以及一个供程序执行时使用 的堆栈.系统在产生一个线程,或者在各个 线程之间切换时,负担要比进程小得多.此 外,由于线程只是在单个进程的作用域内活 动,所以线程间的通信也比进程简单.线程 的实现要依靠操作系统,现代操作系统一般 都支持线程技术.

计算机网络技术专业2《第8章 多线程-课后习题1》

计算机网络技术专业2《第8章 多线程-课后习题1》

第8章多线程一、填空题1.实现多线程的两种方式是继承________类和实现________接口。

2.线程的整个生命周期分为5个阶段,分别是________、________、________、阻塞状态和死亡状态。

3.Thread类中的________方法用于开户一个新线程,当新线程启动后,系统会自动调用________方法。

4.执行________方法,可以让线程在规定的时间内休眠。

5.同步代码块使用________关键字来修饰。

二、判断题1.当我们创立一个线程对象时,该对象表示的线程就立即开始运行。

2.静态方法不能使用synchronied关键字来修饰。

3.对Java程序来说,只要还有一个前台线程在运行,这个进程就不会结束。

4.实现Runnable接口比继承Thread类创立线程的方式扩展性更好。

5.使用synchronied关键字修饰的代码块,被称作同步代码块。

三、选择题1.以下有关线程的创立方式说法错误的选项是〔〕A、通过继承Thread类与实现Runnable接口都可以创立多线程程序B、实现Runnable接口相对于继承Thread类来说,可以防止由于Java的单继承带来的局限性C、通过继承Thread类与实现Runnable接口创立多线程这两种方式没有区别D、大局部的多线程应用都会采用实现Runnable接口方式创立2.以下关于线程优先级的描述,错误的选项是〔〕A、NORM_PRIORITY代表普通优先级,默认值是5B、一般情况下,主函数具有普通优先级C、新建线程的优先级默认为最低D、优先级高的线程获得先执行权的几率越大3.下面关于join方法描述正确的选项是〔〕A、join方法是用于线程休眠B、join方法是用于线程启动C、join方法是用于线程插队D、join方法是用于线程同步4.Java多线程中,关于解决死锁的方法说法错误的选项是〔〕A、防止存在一个进程等待序列{P1,P2,…,Pn},其中P1等待P2所占有的某一资源,P2等待P3所占有的某一源,…,而Pn等待P1所占有的的某一资源,可以防止死锁B、打破互斥条件,即允许进程同时访问某些资源,可以预防死锁,但是,有的资源是不允许被同时访问的,所以这种方法并无实用价值C、打破不可抢占条件。

Java程序员认证考试题

Java程序员认证考试题

●第一章Java入门●第二章数据类型和运算符●第三章流程控制与数组●第四章封装●第五章继承●第六章抽象类与接口●第七章多态●第八章异常●第九章多线程机制●第十章输入输出流●第十一章使用泛型和集合框架●第十二章基于Swing的图形用户界面(GUI)设计●第十三章Java事件驱动编程第一章练习题(Java入门)1.下列哪项不是JDK所包含的内容?(选一项)A.Java编程语言B.工具及工具的APIC.Java EE扩展APID.Java平台虚拟机2.下列关于JDK、JRE和JVM的描述。

哪项正确?A.JDK中包含了JRE,JVM中包含了JREB.JRE中包含了JDK,JDK中包含了JVMC.JRE中包含了JDK,JVM中包含了JRED.JDK中包含了JRE,JRE中包含了JVM3.下列哪个工具可以编译java源文件?A.javacB.jdbC.javadocD.junit4.JDK工具javadoc的作用是哪项?A.生成Java文档B.编译Java源文件C.执行Java类文件D.测试Java代码5.以下哪些包是Java标准库中常用的包?(选三项)A.java.langB.javax.servlet .httpC.j ava. ioD.java.sql6.使用JDK工具生成的Java文档的文件格式是?A.XML格式B.自定义格式c.二进制格式D.HTML格式7.以下关于JVM的叙述,哪项正确?(选两项)A.JVM运行于操作系统之上,它依赖于操作系统B.JVM运行于操作系统之上,它与操作系统无关C.JVM支持Java程序运行,它能够直接运行Java字节码文件D.JVM支持Java程序运行,它能够直接运行Java源代码文件8.以下关于支持Java运行平台的叙述,哪项错误?A.Java可在Solaris平台上运行B.Java可在Windows平台上运行C.Java语言与平台无关。

Java程序的运行结果依赖于操作系统D.Java语言与平台无关。

操作系统概念(第九版)答案

操作系统概念(第九版)答案

操作系统概念(第九版)答案简介《操作系统概念(第九版)答案》是一本针对《操作系统概念(第九版)》教材的答案集合。

本文档旨在提供读者对操作系统相关概念的理解和应用基础。

目录1.引论2.进程管理3.处理机调度4.进程同步5.死锁6.内存管理7.虚拟内存8.文件系统9.输入与输出10.磁盘存储管理11.安全性和保护12.分布式系统13.多媒体操作系统14.实时系统第一章引论本章的目标是介绍操作系统的概念和功能,包括定义了什么是操作系统、操作系统的历史和发展、操作系统的分类以及操作系统的基本组成部分。

问题1:操作系统是什么?答案:操作系统是一个管理计算机硬件和软件资源的软件系统。

它为用户提供一个在硬件和软件之间进行交互的接口,同时协调和控制计算机的各个组件,以实现有效和可靠的计算机操作。

问题2:操作系统的历史和发展?答案:操作系统的历史可以追溯到大约20世纪50年代,当时计算机的使用范围相对较小,操作系统也比较简单。

随着计算机技术的发展,操作系统逐渐变得复杂而且功能强大。

在20世纪60年代,随着多道程序设计的发展,操作系统开始支持同时运行多个程序。

这就导致了对资源的合理分配和进程调度的需求。

同时,操作系统的文件系统和输入输出功能也得到了改进和扩展。

在20世纪70年代,个人计算机的出现使得操作系统变得更加普及。

同时,分时操作系统和分布式操作系统的概念也开始出现。

到了20世纪80年代和90年代,图形用户界面(GUI)的引入和互联网的普及使得操作系统更加用户友好和功能丰富。

现在,操作系统已经成为计算机系统中不可或缺的一部分,为计算机用户提供各种功能和服务。

问题3:操作系统的分类有哪些?答案:操作系统可以根据不同的标准进行分类。

以下是国际上常用的操作系统分类方法:1.目标计算机系统:大型机操作系统、小型机操作系统、微型机操作系统、嵌入式系统操作系统。

2.处理方式:批处理系统、分时操作系统、实时操作系统。

3.用户数量:单用户操作系统、多用户操作系统。

第9章-C#程序设计教程(第2版)-蒙祖强-清华大学出版社

第9章-C#程序设计教程(第2版)-蒙祖强-清华大学出版社

本:
构造函数创建的线程关联没
有参数的方法
public Thread(ThreadStart start)
public Thread(ParameterizedThreadStart start) ——每个线程都必须关联一个无返回类型的方法(称为线程方 其法中),参如数果关sta联rt是的T方h法re无ad参St数art,类则型用或第Pa一r构a个m造构e函te数造r创i函ze建d数的T创线hr程建ea关线d联S程带ta;rt 类如型果的关变联量的。 方这法两带种一委个托参类数型,的则声用明第如二下个一:构个造ob函jec数t类创型参建数线的程方。法
进程是由多个线程组成,即线程是进程的一个组成部分。
线程的划分尺度小,具有较高的并发效率。
进程独占相应的内存和资源(其他进程不能使用),线程则是 共享进程所拥有的内存和资源(其他线程也可以使用),从而极 大地提高运行效率。
进程提供多个线程执行控制,而每个线程只能有一个运行入口、 顺序执行序列和出口(“线序”执行)。
让当前线程 睡眠100毫秒
}
}
9.1 一个简单的多线程应用程序 C#程序设计教程——蒙祖强编著
class B
{ public static void g()
{ for (int i = 0; i < 10; i++)
{ Console.WriteLine("g()在输出:{0}", A.n);
A.n++; Thread.Sleep(100); }
第9章 多线程
本章内容
9.1 一个简单的多线程应用程序 9.2 线程及其实现方法 9.3 线程的同步控制 9.4 线程池 9.5 线程对控件的访问
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java程序设计
实践练习1、请编写多线程程序。先封装一类对象 RandomNumber,功能是先产生一个大于10的随机整数n,再产 生n个随机数并存放于数组中。然后封装两个线程Thread1(要求 是Thread的子类)和Thread2(要求实现Runnable接口)并发地 对所生成的随机数进行排序,其中Thread1要求采用冒泡排序法进 行排序,并输出排序结果。Thread2要求采用快速排序法进行排序 ,并输出排序结果。最后编写主线程TestThread,加入上述两个 线程实现程序的并发,比较这两个线程排序的结果。
东软电子出版社
Java程序设计
• (1)New Thread创建状态 • 根据实现线程的方法不同,创建新的线程对象有不同的 方法: • ■ 如果一个类继承了Thread类,那么,这个类本身就 是一个线程类,直接创建该类的对象即可。创建一个新 的线程对象之后,系统并没有为它分配资源,它仅仅是 一个空对象,因此必须调用Thread类的start()方法来启 动线程。
东软电子出版社
Java程序设计
• 【示例演示】下面的例题说明了同步检索和存储向量中 的对象,来理解wait()、notify()和synchronized的用 法。 • 说明:MyVector类中的put()方法接收用户的消息并存 储它们到向量中;另一个get()方法接收向量中的消息并 在屏幕中显示它们。其中get()方法应等到向量中有新消 息出现时才调用,同时put()方法应在它存储新消息到向 量中时通知get()方法。
东软电子出版社
Java程序设计
一、线程与进程
• ■与顺序执行的程序一样,线程也有一个开始、一串执 行的代码和一个结束,但线程不是一个独立的程序,它 自己并不能运行,必须在程序中运行。 • ■每个程序必须有一个线程称为主线程,如应用中的 main()方法就是主线程。 • ■CPU为执行的每个进程分配独立的内存空间;但一个 进程中所有线程共享同一个内存空间。 • ■线程又称为轻型进程或执行现场;进程又称为重型进 程。
Java程序设计
第9章 多线程
东软电子出版社
Java程序设计
一、线程与进程
• 1.线程与进程 • (1)进程 • Windows是一个多任务操作系统,可以同时打开和运 行多个应用程序,如可以一边听着音乐,一边玩着游 戏,同时还打印要输出的打印稿。 • ■这每一个独立运行的应用程序称为一个进程,同时 运行的多个应用程序称为多进程。 • ■每个进程都有其独立的代码程序和在内存中拥有一 块独立的内存空间。 • ■进程对内存的开销较大。
东软电子出版社
Java程序设计
二、线程的实现 • 语法:public class <类名>extends Thread • { • } • 例如:class subThread extends Thread • { • //重写run()方法的线程体 • }
东软电子出版社
Java程序设计
• (2)Runnable接口 • 在网上创建Applet时,需要继承JApplet类,因为Java不 支持多重继承,不可同时继承JApplet和Thread类,为此, Java提供了Runnable接口来解决这个问题。 • Runnable接口由单个的run()方法组成;它在线程激活 时执行。可扩展JApplet类并实现Runnable接口和重新编码 run()方法。
东软电子出版社
Java程序设计
(3)Not Runnable不可运行状态 如果一个线程处于下列状态之一,线程处于不可运行状态: ■ 正在睡眠sleep() ■ 正在等待wait() ■ 被另一个线程所阻塞 用sleep()方法可以使线程进入睡眠方式,一个睡眠的线 程在指定的时间过去之后,可进入运行状态,在指定的时间 过去之前,该线程是不可运行的。 Sleep()方法的语法: public static void sleep(long millis) throws InterruptedException 参数millis是线程睡眠的毫秒数(1秒=1000毫秒), sleep()方法是一个静态方法,并抛出 InterruptedException异常,在调用该方法时,必须处理 这种异常。
Java程序设计
• 语法:public class <类名>extends JApplet implements Runnable • { • … • } • 例如:class subThread extends JApplet implements Runnable • { • //重写run()方法的线程体 • }
Java程序设计
• (2)Runnable可运行状态 • ■当线程调用Thread类的start()方法时,它进入了可运行 状态。 • ■start()方法负责启动线程,分配线程所必需的系统资源 ,调度线程运行,调用线程的run()方法。 • ■线程处于可运行状态,并不等于正在运行,因为单CPU 不可能一次执行一条以上的线程,CPU维持一个线程队列 。一旦启动,线程排队等候CPU时间,等待轮到它的执行 ,因此在任何时刻,线程可能在等待处理器的关照。 • ■一旦启动线程,线程进入可运行状态,线程的所有活动 都在线程体的run()方法中发生,当线程被创建和初始化之 后,调用run()方法,它一般包括一个循环。
Байду номын сангаас
东软电子出版社
Java程序设计
• (2)声明线程中同步方法的格式 • 在一个对象中,用synchonized声明的方法为同步方法 。Java中有一个同步模型----监视器,负责管理线程对 对象中的同步方法的访问。它的原理是:赋予该对象惟 一一把“钥匙”,当多个线程进入对象,只有取得该对 象钥匙的线程才可以访问同步方法,其它线程在该对象 中等待,直到该线程用wait()方法放弃这把钥匙,其它 等待的线程抢占到该钥匙的线程后才得以执行,而没有 取得钥匙的线程仍被阻塞在该对象中等待。 • 该方法声明为同步的形式:
东软电子出版社
Java程序设计
一、线程与进程
2.多线程的定义 (1)只有一条线程的进程称为单线程;单线程一次只能 执行一个任务,要等待一个任务的完成才能执行另一个 任务。 (2)有不止一个线程的进程称为多线程;进程中的多线 程同时运行,执行不同的任务和彼此交互。
东软电子出版社
Java程序设计
二、线程的实现 1.实现线程的方法 有两种方法创建线程:一种是继承Thread类;一种是 实现Runnable接口。 (1)Thread类 Java的线程是通过ng包中的Thread类来实现的 ,可以构造和访问多线程应用中的各个线程,它支持许多 种方法,得到关于线程的活动、集合的信息,并检查线程 的性质,引起线程的等待、中断或撤消。 通过扩展Thread类,可使应用和类在单独的线程中运行 。
东软电子出版社
Java程序设计
• 2.实现线程间通信的方法 • (1)public final void wait()throws InterruptedException • 该方法告诉当前的线程放弃监视器并睡眠直到另一个线程调用 notify()或notifyAll()方法为止,使用该方法来同步线程。 • (2)public final void notify() • 该方法唤醒正在等待当前对象监视器的单个线程,如果有多个线 程在等待,任意选择其中之一。 • (3)public final void notifyAll() • 该方法唤醒所有正在等待的线程。 • (4)public static void yield() • 该方法告诉系统将当前线程切换到睡眠状态,并执行队列中下一 个线程,用它来保证使低优先级线程也可得到处理时间。
Java程序设计
• 2.线程的生命周期 • 一个线程一旦产生之后,就处于线程的生命周期的某一 状态,线程的状态表示正在进行的活动以及能够完成的 任务。 • 线程的生命周期有4种状态: • ■ New Thread(创建状态) • ■ Runnable(可运行状态) • ■ Not Runnable(不可运行状态) • ■ Deal(死亡状态)
■任何实现Runnable接口类的对象都可以作为一个线 程的目标对象,类Thread本身也实现了Runnable接口 ,所以有两种方法实现线程体: 第一种方法:定义一个线程类,该类继承Thread类并 重写其中的run()方法,初始化这个类的实例时,目标 对象target可以为null,直接用实例对象来执行线程体 。 第二种方法:初始化一个Thread类的线程对象时,必 须提供一个实现Runnable接口的类的对象作为线程的 目标对象,这样Thread对象就可以调用目标对象中的 run()方法,启动线程。
Java程序设计
【示例演示】该例题演示Thread类及其方法的使用。
东软电子出版社
Java程序设计 (4)Deal死亡状态 一个线程可能是自然死亡,也可能是被杀死。 当线程完成run()方法中的循环,则此线程为自然死亡,如上例 中线程在完成26次循环后自然死亡。 分配null给此线程对象,可以杀死该线程。 可以用Thread类的isAlive()方法来确定线程是否启动或停止。 语法:public final Boolean isAlive() 【示例演示】使用两种方法来创建线程:通过继承Thread类和 实现Runnable接口。
东软电子出版社
Java程序设计
一、线程与进程
• (2)线程 • ■一个进程(即一个应用程序)里可以包含多个线程, 一个线程就是一个独立的程序流,这称为单线程,程序 语句一条接一条按顺序执行。 • ■许多应用程序使用了多线程,如游戏中的图像与声音 ,可以这样理解,图形与声音是两个独立的程序子单元 ,每个子单元处理一个任务,两个单元同时运行。每个 子单元称为线程(thread),进程一般分为称为任务 (tasks)的小块,而每个任务小块又可分为更小称为线程 的块。 • ■线程可定义为程序内控制的单顺序流。
相关文档
最新文档