【计算机基础】计算机多线程和多进程的区别?

文章目录

  • 一、进程和线程的基本概念
  • 二、线程的意义
  • 三、进程和线程的对比
  • 四、进程和线程的优缺点
  • 五、何时使用多进程,何时使用多线程


一、进程和线程的基本概念

  • 进程: 是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态的概念,竞争计算机系统资源的基本单位;
  • 线程:进程的一个执行单元,是进程内的调度实体,比进程更小的独立运行的基本单位,线程也被称为轻量级进程。

一个程序至少一个进程,一个进程至少一个线程。

二、线程的意义

  • 每个进程都有自己的地址空间,即进程空间。在网络环境下,一个服务器通常需要接收不确定数量用户的并发请求,为每一个请求都创建一个进程显然行不通,因此操作系统中线程概念被引进。
  • 线程的执行过程是线性的,尽管中间会产生中断或者暂停,但是进程所拥有的资源只为该线状执行过程服务,一旦发生线程切换,这些资源需要被保护起来。
  • 进程分为单线程进程和多线程进程,单线程进程宏观来看也是线性执行过程,微观上只有单一的执行过程。多线性进程宏观上是线性的,微观上多个执行操作。

三、进程和线程的对比

相同点:线程和进程两者均可并发执行。

区别 线程 进程
本质区别 线程是处理器任务调度和执行的基本单位 进程是操作系统资源分配的基本单位
地址空间 同一进程中的线程共享本进程的地址空间 进程之间是独立的地址空间
资源拥有 同一进程内的线程共享进程的资源如内存、I/O、CPU等,一个线程崩溃可能导致整个进程都死掉 进程之间的资源是独立的,一个进程崩溃后,在保护模式下不会对其他进程产生影响
执行过程 每个独立的线程都有一个程序运行的入口、顺序执行序列和程序出口,但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。(线程是基于进程的)
其他 线程是处理器调度的基本单元 进程不是处理器调度的基本单元

四、进程和线程的优缺点

  • 线程执行开销小,但是不利于资源的管理和保护;
  • 进程执行开销大,但是能够很好的进行资源管理和保护,多进程比多线程健壮。

五、何时使用多进程,何时使用多线程

  • 对资源的管理和保护要求高,不限制开销和效率时,使用多进程。(CPU密集型任务)
  • 要求效率高,切换频繁时,资源的保护管理要求不是很高时,使用多线程。(I/O密集型任务)

参考:
什么是进程,什么是线程,多线程与多进程的区别?
线程与进程,你真得理解了吗

你可能感兴趣的:(计算机基础问题,计算机基础,进程和线程)