必威体育Betway必威体育官网
当前位置:首页 > IT技术

线程与进程的区别

时间:2019-11-02 00:15:46来源:IT技术作者:seo实验室小编阅读:80次「手机版」
 

线程和进程的区别

进程和线程的区别

进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。

线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。

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

为什么会有线程?

每个进程都有自己的地址空间,即进程空间,在网络或多用户换机下,一个服务器通常需要接收大量不确定数量用户的并发请求,为每一个请求都创建一个进程显然行不通(系统开销大响应用户请求效率低),因此操作系统中线程概念被引进。

  • 线程的执行过程是线性的,尽管中间会发生中断或者暂停,但是进程所拥有的资源只为改线状执行过程服务,一旦发生线程切换,这些资源需要被保护起来。
  • 进程分为单线程进程和多线程进程,单线程进程宏观来看也是线性执行过程,微观上只有单一的执行过程。多线程进程宏观是线性的,微观上多个执行操作。

线程的改变只代表cpu的执行过程的改变,而没有发生进程所拥有的资源的变化。 

进程线程的区别:

  • 地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。
  • 资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的。

   一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。

   进程切换时,消耗的资源大,效率高。所以涉及到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程不能用进程

  • 执行过程:每个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
  • 线程是处理器调度的基本单位,但是进程不是。
  • 两者均可并发执行。

优缺点

线程执行开销小,但是不利于资源的管理和保护。线程适合在SMP机器(双CPU系统)上运行。

进程执行开销大,但是能够很好的进行资源管理和保护。进程可以跨机器前移。

何时使用多进程,何时使用多线程?

对资源的管理和保护要求高,不限制开销和效率时,使用多进程。

要求效率高,频繁切换时,资源的保护管理要求不是很高时,使用多线程。

参考:http://blog.csdn.net/yaosiming2011/article/details/44280797

 http://www.cnblogs.com/flashsky/articles/642720.html

文章最后发布于: 2018-12-30 17:26:58

相关阅读

Java中 s = s+1 与 s +=1 的区别

问题: public class Operator { public static void main(String[] args) { opreator1(); opreator2(); } private sta

细说VS MSBuild 和 Framework 的区别

如今已经是 VS2017 横行的时代,而据我所知,大部分人还停留在使用 VS2015 VS2013 或更低的版本,主要是因为他们参与的项目基本使用这

Chrome多线程下载

https://github.com/jae-jae/camtdhttps://aria2.github.io/切换到解压目录D:\Tools\aria2-1.34.0-win-64bit中,打开cmd输入命令

淘宝特价版和淘宝有什么区别,以下这些就是!

随着网络时代的到临,改变了绝大多数人们的生活习惯,也人人们感受到了网络时代的发展与其强大无比的魅力,出现很多的购物平台与购物网

jar文件和.so文件的区别

so文件 .so文件是Linux系统的可执行文件,相当于windows上的exe执行文件,只可以在Linux系统运行。 so文件就是常说的动态链接库,都是C

分享到:

栏目导航

推荐阅读

热门阅读