进程与线程概念及区别

一、进程:

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

二、线程

线程,有时被称为轻量级进程(Lightweight Process, LWP),是程序执行流的最小单元。一个标准的线程由线程 ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点 儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

三、进程与线程的区别

1、从概念上
  • 进程:一个程序对一个数据集的动态执行过程,是分配资源的基本单位。
  • 线程:一个进程内的基本调度单位。
  • 线程的划分尺度小于进程,一个进程包含一个或者更多的线程。进程是系统进行资源分配和调度的一个独立单位。
  • 本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
2、从执行过程中来看
  • 进程:拥有独立的内存单元,而多个线程共享内存,从而提高了应用程序的运行效率。
  • 线程:每一个独立的线程,都有一个程序运行的入口、顺序执行序列、和程序的出口。
  • 但是线程不能够独立的执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
3、从逻辑角度来看:(重要区别)
  • 多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但是,操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理及资源分配。

你可能感兴趣的:(进程与线程概念及区别)