多线程

作者在 2006-12-09 06:21:00 发布以下内容

 多线程的基本概念:

win 98/nt/2000/xp 是个多任务操作系统,也就是:一个进程可以划分为多个线程,每个线程轮流占用cpu 运行时间和资源,或者说,把cpu 时间划成片,每个片分给不同的线程,这样,每个线程轮流的“挂起”和“唤醒”,由于时间片很小,给人的感觉是同时运行的。

   多线程带来如下好处:

   1)避免瓶颈;

   2)并行操作;

   3)提高效率;

   在多线程中,通过优先级管理,可以使重要的程序优先操作,提高了任务管理的灵活性。

   另一方面,在多cpu 系统中,可以把不同的线程在不同的cpu 中执行,真正做到同时处理多任务(win 98 只是模拟的,而win/nt/2000是真正的多cpu同时操作)。

多线程的两个概念:

   1) 进程:也称任务,程序载入内存,并分配资源,称为“一个进程”。注意:进程本身并不一定要正在执行。进程由以下几部分组成:

   a>一个私有的地址空间,它是进程可以使用的一组虚拟内存地址空间;

   b>程序的相关代码、数据源;

   c>系统资源,比如操作系统同步对象等;

   d>至少包含一个线程(主线程);

   2) 线程:是程序的执行单位(线程本身并不包括程序代码,真正拥有代码的是进程),每个进程至少包括一个线程,称为主线程,一个进程如果有多个线程,就可以共享同一进程的资源,并可以并发执行。

   线程是进程的一个执行单元,是操作系统分配cpu 时间的基本实体,线程主要由如下两部分组成:

   a>数据结构;

   b>cpu 寄存器和堆栈;

   一个进程中的线程,可以独立运行,也可以控制另一个线程的运行。

软件开发技术贴 | 阅读 1295 次
文章评论,共0条
游客请输入验证码
浏览83637次