复习进程和线程 process vs thread

http://www.vczx.com/tutorial/mfc/mfc8.php

进程是一个可执行的程序,由私有虚拟地址空间、代码、数据和其他操作系统资源(如进程创建的文件、管道、同步对象等)组成。一个应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程。

线程是操作系统分时调度分配CPU时间的基本实体。一个线程可以执行程序的任意部分的代码,即使这部分代码被另一个线程并发地执行;一个进程的所有线程共享它的虚拟地址空间、全局变量和操作系统资源。

之所以有线程这个概念,是因为以线程而不是进程为调度对象效率更高:

  • 由于创建新进程必须加载代码,而线程要执行的代码已经被映射到进程的地址空间,所以创建、执行线程的速度比进程更快。

  • 一个进程的所有线程共享进程的地址空间和全局变量,所以简化了线程之间的通讯。

关于多线程,并发的一本电子书
http://www.unet.univie.ac.at/aix/aixprggd/genprogc/toc.htm

posted on 2004-11-02 10:57  番茄鸡蛋面  阅读(906)  评论(0编辑  收藏  举报

导航