0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

进程和线程的关系与区别是什么

Dbwd_Imgtec 来源:未知 作者:胡薇 2018-04-04 09:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1定义

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。

2关系

一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。

相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。

3区别

进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

1) 简而言之,一个程序至少有一个进程,一个进程至少有一个线程。

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

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

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

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

4优缺点

线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 线程
    +关注

    关注

    0

    文章

    511

    浏览量

    20889
  • 进程
    +关注

    关注

    0

    文章

    211

    浏览量

    14570

原文标题:进程和线程有什么关系?它们的区别又是什么?

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微(EASY EAI)RV1126B 系统操作-线进程操作

    1.多线程介绍进程线程概念是操作系统与普通单片机最大的区别,多任务系统可以将系统资源分块,使得不同任务相互独立运行,且在宏观层面观察,多个应用像同一时间运行一样,例如浏览网页的同时,也
    的头像 发表于 04-13 14:14 202次阅读
    瑞芯微(EASY EAI)RV1126B 系统操作-线<b class='flag-5'>进程</b>操作

    飞凌嵌入式ElfBoard-进程的相关信息之父进程和子进程

    -p命令,以树状结构显示 Linux 系统中的进程关系,将父进程和子进程的层次结构清晰地展示出来。 示例:执行ps -f命令 UID PID PPIDC STIME TTY TIME
    发表于 03-12 17:12

    飞凌嵌入式ElfBoard-进程之什么是进程

    在Linux系统中,有些基本命令能够查看到进程的信息。例如ps、top、pgrep、pstree等;这些命令为用户提供了查看和管理Linux进程信息的多种功能。通过合理使用这些命令,用户可以监控
    发表于 03-02 08:49

    Linux进程树分析工具pstree详解与实战指南(另一视角优化Linux系统)

    在 Linux 系统开发与运维中,理解进程的运行状态和相互关系是排查问题、优化性能的基础。pstree 作为一款轻量高效的进程树可视化工具,能直观展示系统中所有进程的父子
    的头像 发表于 02-04 16:21 1001次阅读
    Linux<b class='flag-5'>进程</b>树分析工具pstree详解与实战指南(另一视角优化Linux系统)

    飞凌嵌入式ElfBoard-进程之什么是进程

    ID,用户ID,组ID以及终止状态等)。4.1.1 进程和程序的区别程序是一个静态的代码集合,是一组指令的集合,用于执行特定的任务。程序通常以文件的形式存在,存储在硬盘、闪存或其他存储介质上。程序
    发表于 01-26 08:42

    进程概念和特征

    进程的概念   在多道程序环境下,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性及不可再现性的特征。为此引入了进程(Process)的概念,以便更好地描述和控制程序的并发执行,实现操作系统
    发表于 01-15 06:39

    进程通信

    空间一般都是独立的,要想让两个用户进程共享空间必须通过特殊的系统调用实现,而进程内的线程是自然共享进程空间的。   消息传递   在消息传递系统中,
    发表于 01-15 06:16

    进程的控制

    进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。在操作系统中,一般把
    发表于 01-15 06:05

    解析Linux的进程线程和协程

    系统的稳定性和安全性。 (3)创建与销毁:Linux使用fork()系统调用来创建新进程,通过exit()来终止进程线程(Thread) 线程
    发表于 12-22 11:00

    Linux多线程对比单线程的优势

    :「资源利用率」:通过多线程,可以更有效地利用CPU资源,特别是多核CPU。「并行处理」:线程允许同时执行多个任务,提高程序的执行效率。「简化设计」:使用线程可以简化程序设计,因为
    发表于 12-01 06:11

    电压、电位、电势和电平的区别关系

    在电学领域中,电压、电位、电势和电平是几个密切相关的概念,它们既有区别又有联系。理解这些概念的本质及其相互关系,对于掌握电路分析和电子技术至关重要。下面将从定义、计算方法和实际应用等方面,详细阐述
    的头像 发表于 11-24 07:37 1629次阅读
    电压、电位、电势和电平的<b class='flag-5'>区别</b>与<b class='flag-5'>关系</b>

    舵机与伺服电机的区别是什么?

    、本质定义:范围与从属关系 首先要明确二者的 “包含关系”—— 舵机是伺服电机的一种特殊形式 ,但伺服电机的范畴远大于舵机。 伺服电机(Servo Motor) :广义上指 “可根据输入信号(如位置、速度、扭矩指令)精确控制运动参数的
    的头像 发表于 10-13 10:21 2573次阅读

    线程与多处理有何区别

    多处理也称为进程进程是一个在自己的内存空间中运行的独立程序。
    的头像 发表于 09-16 14:21 746次阅读

    【HZ-T536开发板免费体验】—— linux创建线程

    线程进程 一个进程指的是一个正在执行的应用程序,而线程的功能是执行应用程序中的某个具体任务。线程具有传统
    发表于 09-01 21:31

    请问GPDMA和DMA的区别是什么?

    最近看到最新的芯片里面用到的DMA模块写的是GPDMA,好像通道多了不少,这只是最直观的,还有哪些区别?看着还必须到GPDMA模块去配置,不能在其他模块直接配置了
    发表于 07-22 07:19