电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

22进程、线程与并行计算(windows编程技术)

22进程、线程与并行计算(windows编程技术)_第1页
1/35
22进程、线程与并行计算(windows编程技术)_第2页
2/35
22进程、线程与并行计算(windows编程技术)_第3页
3/35
1 第22章 进程、线程与并行计算 进程是正在运行的程序,线程是轻量级的进程。多任务的并发执行会用到多线程(mu ltithreading),而CPU 的多核(mu lt-core)化又将原来只在巨型机和计算机集群中才使用的并行计算带入普通PC 应用的多核程序设计中。 本章先介绍进程与线程的概念和编程,再给出并行计算的基本概念和内容。下一章讨论基于多核CPU 的并行计算的若干具体编程接口和方法。 22.1 进程与线程 进程(process)是执行中的程序,线程(thread)是一种轻量级的进程。 22.1.1 进程与多任务 现代的操作系统都是多任务(mu ltitask)的,即可同时运行多个程序。进程(process)是位于内存中正被CPU 运行的可执行程序实例,参见图22-1。 图22-1 程序与进程 目前的主流计算机采用的都是冯·诺依曼(John v on Neu mann)体系结构——存储程序计算模型。程序(program)是在内存中顺序存储并以线性模式在CPU 中串行执行的指令序列。对于传统的单核CPU 计算机,多任务操作系统的实现是通过 CPU 分时(time-sharing)和程序并发(concu rrency )完成的。即在一个时间段内,操作系统将CPU 分配给不同的程序,虽然每一时刻只有一个程序在CPU 中运行,但是由于CPU 的速度非常快,在很短的时间段中可在多个进程间进行多次切换,所以用户的感觉就像多个程序在同时执行,我们称之为多任务的并发。 22.1.2 进程与线程 程序一般包括代码段、数据段和堆栈,对具有 GUI(Graphical User Interfaces,图形用户界面)的程序还包含资源段。进程(process)是应用程序的执行实例,即正在被执行的程程序 = 进程(内存中) 可执行文件(盘上) 运行 2 序。每个进程都有自己的虚拟地址空间,并拥有操作系统分配给它的一组资源,包括堆栈、寄存器状态等。 线程(thread)是CPU 的调度单位,是进程中的一个可执行单元,是一条独立的指令执行路径。线程只有一组CPU 指令、一组寄存器和一个堆栈,它本身没有其他任何资源,而是与拥有它的进程共享几乎一切,包括进程的数据、资源和环境变量等。线程的创建、维护和管理给操作系统的负担比进程要小得多,所以才叫轻量级的进程(lightw eight process)。 一个进程可以拥有多个线程,而一个线程只能属于一个进程。每个进程至少包含一个线程——主线程,它负责程序的初始化工作,并执行程序的起始指令。随后,主线程可为执行各种不同的任务而分别创建多个子线程,参见图 22...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

22进程、线程与并行计算(windows编程技术)

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部