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

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

3天内不再提示

多线程与多处理有何区别

麦克泰技术 来源:麦克泰技术 2025-09-16 14:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

多处理

多处理也称为进程,进程是一个在自己的内存空间中运行的独立程序。

每个进程都有自己的地址空间、代码、数据、堆栈。

进程之间的通信需要IPC机制(管道、消息队列、共享内存、套接字)。

何时使用

你想要隔离(一个进程崩溃不会影响另外的进程)。

嵌入式示例:与通信服务分开运行传感器守护程序,这样它们就不会干扰。

多线程

线程是流程中的轻量级执行单元。

进程中的所有线程共享相同的内存空间(代码、数据、堆),但每个线程都有自己的堆栈和寄存器

线程之间的通信更容易(它们直接共享内存),但需要同步(互换、信号)来避免竞赛条件。

何时使用

你希望在一个应用程序中进行并行吗?

嵌入式示例:一个线程读取传感器数据,另一个线程处理MQTT通信,另一个线程刷新日志——所有这些都在同一应用程序中。

关键区别

过程=繁重,孤立,创建速度较慢,更安全。

线程=轻、快速、共享内存,但风险更大(坏线程可能会损坏共享数据)。

结论

在嵌入式Linux中,进程是具有自身内存空间的独立程序,而线程是共享相同内存的进程中的轻量级单元。当需要隔离时,我们会使用多个进程,例如将传感器服务和通信服务分开。当我们需要任务共享内存并在同一应用程序中并发运行时,我们会使用线程,例如读取传感器和并行处理网络通信

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

    关注

    5186

    文章

    20145

    浏览量

    328742
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217943
  • 进程
    +关注

    关注

    0

    文章

    208

    浏览量

    14478

原文标题:嵌入式Linux,多线程与多处理有何不同?

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    rt-thread studio 如何进行多线程编译?

    ,使用的是5800h+32g内存+sn550 ssd,开启16线程编译时cpu的占用率也只能到30%,编译完整个工程需要3分钟 感觉多线程编译设置没有生效,办法提高编译速度吗 rtthread studio版本是 2.2.9
    发表于 10-11 09:16

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

    的执行任务成为单线程多线程是程序中包含多个执行流,在一个程序中可以同时运行多个不同的线程来执行不同的任务。 多线程提高了CPU的使用卤率。多线程
    发表于 09-01 21:31

    如何在 MA35 系列微处理器 (MPU) 上开发 AMP(非对称多处理)应用程序?

    如何在 MA35 系列微处理器 (MPU) 上开发 AMP(非对称多处理)应用程序,并通过建立多个端点的过程促进与其他内核的多通道数据传输。
    发表于 08-19 06:11

    TC377配置SMU FSP时,如何配置频率参数;三种模式区别,配置上有区别

    TC377配置SMU FSP时,如何配置频率参数;三种模式区别,配置上有区别
    发表于 08-08 07:48

    多线程的安全注意事项

    多线程安全是指多个线程同时访问或修改共享资源时,能够保证程序的正确性和可靠性。 开发者选择TaskPool或Worker进行多线程开发时,在TaskPool和Worker的工作线程中导
    发表于 06-20 07:49

    工控一体机多线程任务调度优化:聚徽分享破解工业复杂流程高效协同密码

    在当今工业 4.0 的浪潮下,工业生产正朝着高度自动化、智能化的方向大步迈进。生产流程日益复杂,众多任务需要同时、高效地协同执行,这对工业控制系统的核心 —— 工控一体机提出了前所未有的挑战。多线程
    的头像 发表于 05-28 14:06 478次阅读

    一种实时多线程VSLAM框架vS-Graphs介绍

    针对现有VSLAM系统语义表达不足、地图可解释性差的问题,本文提出vS-Graphs,一种实时多线程VSLAM框架。该方案显著提升了重建地图的语义丰富度、可解释性及定位精度。实验表明
    的头像 发表于 04-19 14:07 721次阅读
    一种实时<b class='flag-5'>多线程</b>VSLAM框架vS-Graphs介绍

    请问如何在Python中实现多线程与多进程的协作?

    大家好!我最近在开发一个Python项目时,需要同时处理多个任务,且每个任务需要不同的计算资源。我想通过多线程和多进程的组合来实现并发,但遇到了一些问题。 具体来说,我两个任务,一个是I/O密集型
    发表于 03-11 06:57

    分布式存储和集中式存储区别

    存储产品千千万,选来选去怎么办? 戴小编来献妙策,匹配需求不为难!分布式存储和集中式储是存储系统中十分重要的两种架构类型,但这两者区别?适合怎样的业务需求?今天戴小编就来一一解答。
    的头像 发表于 02-28 10:56 2250次阅读

    请问rt-thread studio如何进行多线程编译?

    ,使用的是5800h+32g内存+sn550 ssd,开启16线程编译时cpu的占用率也只能到30%,编译完整个工程需要3分钟 感觉多线程编译设置没有生效,办法提高编译速度吗
    发表于 02-19 08:30

    EE-167:使用VisualDSP的TigerSHARC多处理器系统简介

    电子发烧友网站提供《EE-167:使用VisualDSP的TigerSHARC多处理器系统简介.pdf》资料免费下载
    发表于 01-14 15:12 0次下载
    EE-167:使用VisualDSP的TigerSHARC<b class='flag-5'>多处理</b>器系统简介

    audio CODEC AGC跟DRC区别

    audio CODEC AGC 跟DRC 区别?求详解,thanks
    发表于 01-09 07:29

    EE-148:使用VisualDSP的SHARC多处理器系统简介

    电子发烧友网站提供《EE-148:使用VisualDSP的SHARC多处理器系统简介.pdf》资料免费下载
    发表于 01-07 14:37 0次下载
    EE-148:使用VisualDSP的SHARC<b class='flag-5'>多处理</b>器系统简介

    EE-202:将专家链接器用于多处理器LDFs

    电子发烧友网站提供《EE-202:将专家链接器用于多处理器LDFs.pdf》资料免费下载
    发表于 01-06 14:33 0次下载
    EE-202:将专家链接器用于<b class='flag-5'>多处理</b>器LDFs