码迷,mamicode.com
首页 > 编程语言 > 详细

线程与进程

时间:2016-10-29 19:14:38      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:寄存器   环境   程序   strong   例子   第一个   它的   变量   处理机调度   

进程:一个内存中的可执行程序,提供程序运行的各种资源。拥有虚拟的地址空间,可执行代码,数据,对象句柄集,环境变量,基础优先级,以及最大最小工作集。

线程:系统处理机调度的基本单位。可执行进程中任意代码,包括正在被其他线程执行的代码。进程中的所有线程共享进程的虚拟地址空间和系统资源。每个线程拥有自己的例外处理过程,一个调度优先级以及线程上下文数据结构。线程上下文数据结构包含寄存器值,核心堆栈,用户堆栈和线程环境块。

进程和线程的关系

进程是容器:每个windows进程开始于它的被默认创建的第一个线程,通常称其为主线程。说明进程含有至少一个线程。主线程和其它的线程没有任何区别,每个线程都可以创建新的线程。进程中所有线程都结束时进程会自动被结束,而主动结束进程时,如果还有线程没完成,则系统自动结束这些线程。从多进程并发的角度来看,进程仍然是一个动态的实体,但它的动态是它的线程的动态特征的抽象。举个例子,一个进程含有3个线程,那么当3个线程都阻塞时,进程表现为阻塞。但只要有一个线程是就绪态,哪怕其它2个线程是阻塞态,进程仍然表现为就绪。从线程的角度看,进程表现的更像一个容器,它代表线程接受分配到的资源(除处理机资源),为线程提供主体(执行代码+数据),自己却没有运行的概念。此时,进程是静态的实体。

线程与进程

标签:寄存器   环境   程序   strong   例子   第一个   它的   变量   处理机调度   

原文地址:http://www.cnblogs.com/yujing611033/p/6011444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!