进程和线程的区别

进程:

    进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程是基本的分配单元,也是基本的执行单元。(简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。)

进程的基本状态:

   1、就绪(Ready)状态:
   当进程已分配到除CPU以外的所有必要资源后,只要在获得CPU,便可立即执行,进程这时的状态就称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将他们排成一个队列,称为就绪队列。

   2、执行状态:
   进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态;再多处理机系统中,则有多个进程处于执行状态。

   3、阻塞状态:
    正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即程序的执行受到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。

进程的三个基本状态及转换:
这里写图片描述
进程的特征:

动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。

并发性:任何进程都可以同其他进程一起并发执行

独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;

异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进

多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。

线程:

    线程,有时被称为轻量级进程(Lightweight Process,LWP),是CPU使用的基本单元。一个标准的线程由线程ID、当前指令指针(PC)、寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和执行三种基本状态。就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;执行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。
    线程存在 5 种基本操作来切换线程的状态:派生,阻塞,激活,调度,结束。

优点:

    1、响应度高: 如果对一个交互式应用程序采用多线程,及时其部分阻塞或冗长的操作,那么该程序仍能够继续执行,从而增加了多用户的响应度。

    2、资源共享: 线程默认共享它们所属进程的内存和资源。

    3、多处理体系结构的利用: 单线程的进程只能运行在一个CPU上。

进程和线程的关系与区别:

关系:
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 

(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。 

(3)处理机分给线程,即真正在处理机上运行的是线程。 

(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。


区别:

1、一个程序至少有一个进程,一个进程至少有一个线程.

2、线程的划分尺度小于进程,使得多线程程序的并发性高。

3、进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

4、每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

5、从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值