多线程与多核编程.doc

多线程与多核编程.doc

第13章 多线程与多核编程 多任务的并发执行会用到多线程(multithreading),而CPU的多核(mult-core)化又将原来只在巨型机中才使用的并行计算(parallel computing)带入普通PC应用的多核程序设计(multi-core programming)中。 13.1 进程与线程 进程(process)是执行中的程序,线程(thread)是一种轻量级的进程。 13.1.1 进程与多任务 现代的操作系统都是多任务(multitask)的,即可同时运行多个程序。进程(process)是位于内存中正被CPU运行的可执行程序。参见图15-1。 图15-1 程序与进程 目前的主流计算机采用的都是冯·诺依曼(John von Neumann)体系结构——存储程序计算模型,程序(program)就是在内存中顺序存储并以线性模式在CPU中串行执行的指令序列。对于传统的单核CPU计算机,多任务操作系统的实现是通过CPU分时(time-sharing)和程序并发(concurrency)完成的。即在一个时间段内,操作系统将CPU分配给不同的程序,虽然每一时刻只有一个程序在CPU中运行,但是由于CPU的速度非常快,在很短的时间段中可在多个进程间进行多次切换,所以用户的感觉就像多个程序在同时执行,我们称之为多任务的并发。 13.1.2 进程与线程 程序一般包括代码段、

文档评论(0)

1亿VIP精品文档

相关文档