多线程编程
多线程编程
主讲:北京科海培训中心
2-1
2-1
多线程的基本概念
多线程的基本概念
WIN 98/NT/2000/XP 是个多任务操作系
统,也就是:一个进程可以划分为多个
线程,每个线程轮流占用 CPU 运行时间
和资源,或者说,把 CPU 时间划成片,
每个片分给不同的线程,这样,每个线
程轮流的“挂起”和“唤醒”,由于时间片很
小,给人的感觉是同时运行的。
多线程带来如下好处:
多线程带来如下好处:
1 )避免瓶颈;
2 )并行操作;
3 )提高效率;
在多线程中,通过优先级管理,可以使重要
的程序优先操作,提高了任务管理的灵活性。
另一方面,在多 CPU 系统中,可以把不
同的线程在不同的 CPU 中执行,真正做到同
时处理多任务( Win 98 只是模拟的,而 Win
/NT/2000 是真正的多 CPU 同时操作)。
多线程的两个概念——进程
多线程的两个概念——进程
1 ) 进程:也称任务,程序载入内存,并分配资
源,称为“一个进程”。注意:进程本身并不一
定要正在执行。进程由以下几部分组成:
a) 一个私有的地址空间,它是进程可以使用的
一组虚拟内存地址空间;
b) 程序的相关代码、数据源;
c) 系统资源,比如操作系统同步对象等;
d) 至少包含一个线程(主线程);
多线程的两个概念——线程
多线程的两个概念——线程
2 ) 线程:是程序的执行单位(线程本身并不包括程序代码,
真正拥有代码的是进程),每个进程至少包括一个线程,
称为主线程,一个进程如果有多个线程,就可以共享同
一进程的资源,并可以并发执行。
a) 线程是进程的一个执行单元,是操作系统分配 CPU 时
间的基本实体,线程主要由如下两部分组成:
b) 数据结构;
c) CPU 寄存器和堆栈;
一个进程中的线程,可以独立运行,也可以控制另一个
线程的运行。
请注意:多线程不能滥用,书上提到了多线程的几个缺点
(自阅)。