您的位置:首页 > 其它

Win32中进程与线程的概念、联系与区别引论 .

2011-08-26 11:46 369 查看
在Win32平台中,粗略的讲,可以认为进程是应用程序的一个运行实例。更精确的说,进程描述的是应用程序的一个运行实例所拥有的资源,进程的资源包括:地址空间、文件、内核对象句柄、虚拟内存、堆以及线程等。
这些资源是静态的,而应用程序的一个运行实例中活跃的部分是线程,线程隶属于进程,它是进程中的一条执行路径(即一系列代码),一个进程可以拥有多个线程,这些线程在进程资源所构成的环境中运行。操作系统中的调度程序为系统中的所有进程的所有线程分配CPU时间片,而不是为进程分配时间片。系统通过合理的为线程分配CPU时间片,使得用户感觉系统中的线程在同时运行。

Windows NT/2000/XP支持多CPU,如果主机中有多个CPU,系统会把各CPU分配给不同的线程,使得这些线程可以真正的同时运行。Windows 95只支持一个CPU,即使运行Windows 95的主机含有多个CPU芯片,Windows 95也只能一次调度一个线程,其他的CPU处于休眠状态。

由于进程是惰性的,因此,它至少拥有一个称为主线程的线程。如果需要多个线程,可以通过主线程创建更多的线程。主线程由系统在加载应用程序时自动为进程创建。每个线程有自己的CPU寄存器组和自己的栈。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: