标签:切换 contain 出现 多个 地址 运算 寄存器和栈 复杂 多线程
执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。
单个进程中执行中每个任务就是一个线程。线程是进程中执行运算的最小单位。
运行 就绪 等待 三种状态
最大的区别是:是否单独占有内存地址空间
(共享,同步,可靠性,开销)1.进程单独占有一定的内存地址空间,所以进程间存在内存隔离,数据时分开的,数据共享复杂但是同步简单,各个进程之间互不干扰;而线程共享所属进程占有的内存地址空间和资源,数据共享简单,但是同步复杂。
2.进程单独占有一定的内存地址空间,一个进程出现问题不会影响其他进程,不影响主程序的稳定性,可靠性高;一个线程崩溃可能影响整个程序的稳定性,可靠性较低。
3.进程单独占有一定的内存地址空间,进程的创建和销毁不仅需要保存寄存器和栈信息,还需要资源的分配回收以及页调度,开销较大;线程只需要保存寄存器和栈信息,开销较小。
注意:进程是操作系统进行资源分配的基本单位(进程之间互不干扰),而线程是操作系统进行调度的基本单位(线程间互相切换)。
标签:切换 contain 出现 多个 地址 运算 寄存器和栈 复杂 多线程
原文地址:http://blog.51cto.com/13754781/2311071