首页 > 系统相关 >进程与线程的区别

进程与线程的区别

时间:2022-10-23 19:46:11浏览次数:35  
标签:开销 区别 一个 并发 线程 进程 执行

线程的基本概念
概念:
线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。

好处 :
(1)易于调度。
(2)提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。
(3)开销少。创建线程比创建进程要快,所需开销很少。。
(4)利于充分发挥多处理器的功能。通过创建多线程进程,每个线程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分运行。

进程的基本概念

概念:
一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。

 

进程和线程的关系:
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。
(3)处理机分给线程,即真正在处理机上运行的是线程。
(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。线程是指进程内的一个执行单元,也是进程内的可调度实体.

进程与线程的区别:
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

 

进程与线程的区别总结
线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少包含一个线程。

根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位

资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。

包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。

内存分配:同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的

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

执行过程:每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制,两者均可并发执行

 

标签:开销,区别,一个,并发,线程,进程,执行
From: https://www.cnblogs.com/-cen/p/16819262.html

相关文章

  • 进程与线程的区别
    1、线程的基本概念概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但......
  • 进程与线程的区别
    首先来说进程和线程两个全是基本单元,完全是为了操作系统运行程序而存在的。该类系统为了要实现应用程序的并发性处理,就必须要运用该基本单元。因此它们之间有相似处也有区......
  • 进程与线程的区别与联系
    进程与线程的区别与联系一、线程和进程的基本概念线程:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只......
  • 进程与线程的区别
    基本概念:进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。线程:是进程的一个执行单元,是进程内科调度实体。比进......
  • 解决PHP-FPM进程导致的服务器内存占用
    最近php-fpm服务器经常内存偏高。最简单也是马上见效的方法是重启服务,干脆重启服务器,这个对于某些临时进程导致的内存虚高可能有效,这里显然是不行滴。很可能影响到业务。......
  • Linux不杀进程清理 lsof中deleted 状态的文件
    一、问题之前已经写过一篇"<<Linux磁盘占用率与使用率不符>>"将进程kill掉就行但是如果进程不能被停止呢之前碰到一个例子:朋友的系统盘空间爆满,du-sh查找不出问题,lsof|gre......
  • List和Map、Set的区别
    List和Map、Set的区别结构特点List和Set是存储单列数据的集合,Map是存储键和值这样的双列数据的集合;List中存储的数据是有顺序,并且允许重复;Map中存储的数据是没有顺序的,......
  • JSON 和 JavaScript 介绍与区别
    Web开发依赖于JavaScript,但什么是JSON,以及JSON与JavaScript的区别是什么?了解WEB背后的技术对于寻求创新和充分利用可用资源的团队来说非常重要。所有与WEB相关的......
  • 进程和线程的区别
    进程    进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结......
  • Reactor 模式线程模型
    根据Reactor的数据量和处理资源池线程数量,可以分为3钟典型实现单Reactor单线程  单Reactor多线程  主从Reactor多线程 ......