进程与线程的区别??

目录

1.什么是进程?        

2.什么是线程?

 3.进程与线程的区别?


1.什么是进程?        

        说进程之前,先来说说什么是程序? 程序其实就是含有可运行指令集和数据的文件,存储在磁盘或其他的存储设备中,比如软件安装目录和文件。那程序和进程之间有什么关系呢?

        其实,一个进程就是程序的一次执行,它是系统运行程序的基本单位。通俗的说,当你双击运行QQ,这时正在运行中的QQ就是一个进程。

         在同一个操作系统上可以同时存在多个进程,就好比在Windows系统上你在使用QQ的同时也可以使用微信,还可以使用音乐软件听歌。那你同时使用运行的程序就是一个个的进程。                       当操作系统开始运行程序时到结束程序的运行,就是一个进程从创建到消亡的过程,每个进程都会分别占有CPU、内存、磁盘、网络带宽等系统资源的使用权,它们由操作系统统一进行资源的分配和管理。

2.什么是线程?

        线程是CPU执行的最小单元,是进程划分的更小的执行单位。

        一个进程在执行的过程中可以产生多个线程。就像我们在使用QQ聊天软件时,会有不同的线程同时负责接收聊天消息,空间消息,邮件消息等不同的功能模块。                                                        与进程不同的是,这些线程共享同一块内存空间和同一组系统资源,所以系统产生一个线程或在线程间切换工作时,远比在进程中消耗的资源少,负担要小得多。

接下来一张图帮助大家理解操作系统、进程与线程之间的关系:

 3.进程与线程的区别?

ok说完线程与进程的基本概念,下面就来具体说说进程与线程的区别吧:

         a、根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位也就是说,进程是属于操作系统范畴,主要是同一段时间内可以同时执行一个以上的程序,而线程则是在同一程序内几乎同时执行一个以上的程序段。

        b、包含关系:一个进程中包含多个线程,在程序运行过程中,线程不是线性串行而是并行共同完成。

        c、内存分配与影响:各个进程之间是相互独立的,使用的内存和资源也相互独立,所以一个进程的崩溃不会对其他进程产生影响;而线程不一定,一个进程中的多个线程享用同样的内存资源,一个线程的崩溃会导致整个进程退出。所以多进程要比多线程可靠。

        d、资源开销:每个进程都有独立的代码副本和数据空间,进程之间的切换,资源开销较大;线程可以看做轻量级的进程,每个线程都有自己独立的运行栈和程序计数器,线程之间切换,资源开销小;

        e、执行方式:每个独立的进程有程序运行的入口和程序出口。但是线程不能独立执行,必须依存在应用程序(进程)中,由应用程序提供多个线程执行控制

---------------------------------------------------------------------------------------------------------------------------------

        其实进程与线程之间的区别很容易区分,先理解他们之间的包含关系,再从他们的资源占有与使用的方式来分析性能的开销就能理清楚了......

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值