操作系统_进程和线程的区别

进程和线程的区别

比较内容 进程 进程
调度的基本单位 进程是能独立运行的基本单位,被调度时需要上下文切换。 线程是能独立运行的基本单位,线程切换时仅需保存和设置少量寄存器内容。
并发性 进程之间可以并发执行。 一个进程中的所有线程都能并发执行,不同进程中的线程也能并发执行。
拥有资源 进程可以拥有资源,并作为系统中拥有资源的一个基本单位。资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。 线程本身不拥有系统资源,而是仅有一点必不可少的、能保证独立运行的资源。线程还允许多个线程共享该进程所拥有的资源。每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。
独立性 每个进程都拥有一个独立的地址空间和其他资源,除了全局变量外,不允许其他进程的访问。独立性高。每个独立的进程有程序运行的入口、顺序执行序列和程序出口。 同一进程中的不同线程共享内存地址空间和资源。独立性低。线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
系统开销 在创建或撤消进程时,系统都要为之分配和回收进程控制块、分配或回收其他资源。开销大。 由于一个进程中的多个线程具有相同的地址空间,线程之间的同步和通信也比进程简单。开销小。
支持多处理机系统 单线程进程:只能运行在一个处理机上。 多线程进程:可以将一个进程的多个线程分配到多个处理机上,使它们并发执行。
根本区别 进程是操作系统资源分配的基本单位。 线程是处理器任务调度和执行的基本单位。
包含关系 一个进程可以有多个线程,但至少有一个线程。如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的。 线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。一个线程只能属于一个进程。线程是操作系统可识别的最小执行和调度单位。
影响关系 一个进程崩溃后,在保护模式下不会对其他进程产生影响。健壮。 一个线程崩溃整个进程都死掉。

作者:叶浩霞 :bookmark_tabs:
日期:2020.12.01

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!