& amp; amp; quot;可重入& amp; amp; amp; quot;和& amp; amp;“线程安全& amp; amp; amp; amp; amp; amp; amp; amp; quot;”是两个概念,不要混淆

每个人都认为使用printf在多任务程序中打印一些信息是一件很快乐的事情。如果幸运的话,偶尔会犯一些错误或随机代码也不是什么大问题。
如果您不走运,您可能会挂断电话并陷入困境。 ,那么这是什么原因呢?今天的文章应该能够帮助您解决大多数问题。
01两个概念1.可重入函数多任务系统中的每个进程或线程都由多个执行流同时运行。当执行流在同一时间(主要是由于中断)同时进入同一函数时,它不会引起。
如果函数的结果不确定或错误,则该函数可被视为可重入的。上图中的信号通常是由于中断和其他原因而产生的。
在我们的多任务系统中,中断总是随机发生的。一旦线程或进程被中断,它将执行消息处理,而这恰好是这次。
线程执行的操作与信号处理相同,例如malloc,它们都共享相同的资源(全局堆空间)。当信号处理返回到原始执行流程时,它会受到信号处理重写的影响。
例如,重入问题导致malloc分配相同的内存区域,或其他数据篡改,锁定等,因此该函数不是重复输入的。 2.线程安全。
多个线程同时运行并执行相同的代码,而不会影响运行结果。我们认为它是线程安全的。
为了线程安全,通常可以通过添加互斥锁来解决争斗。当然,如果您不使用共享资源(例如全局变量,静态变量等),则它们基本上是线程安全的。
实际上,从表面上看,这两个概念之间并没有太大区别,无非就是运行同一段代码,这会导致不确定的结果。 3. VS再考虑一下。
实际上,这两个概念侧重于不同的层次。可重入函数要求执行相同的执行流程而不会受到影响,并且线程安全仅是线程级别的要求。
因此,重新进入的要求比线程安全性更为严格。可重入必须是线程安全的,并且线程安全不一定是可重入的。
下图显示了它们之间的关系:02非可重入死锁让我们简要分析一下。非可重入死锁的问题:在上图中,我们向函数添加了互斥锁(与递归锁无关),这是线程安全的,但只是锁定了共享资源部分,发生了随机中断信号处理, turn执行信号处理功能,并且在信号处理中也执行相同的功能代码。
这时,资源被锁定,必须等待调用Fuction函数的线程被释放,但是该线程正在等待信号处理访问,最后是死锁。凉爽的!当然,您可以使用递归锁进行处理,这在正常设计中需要避免。
那时,对于某些需要调用外部库的设计,您只能选择递归锁。 03重入者认可。
老实说,对于许多玩RTOS的人来说,直接关闭中断并打开关键的中断资源保护基本上可以告别一些不可重入的问题,此类操作将影响多任务的并发执行,但是如果您只需添加几个锁,您仍然需要注意程序中不可重入的问题。这里的非可重入问题不能完全概括以下几点:1.标准IO函数将使用全局数据结构,例如printf函数:因为使用了全局标准输出stdout,所以线程不安全并且不能重入。
2. malloc和free:这两个函数在全局堆空间上运行。如果有锁,则它是线程安全的,但不能重入。
3.访问全局和静态资源将导致线程不安全。例如,某些函数使用静态缓冲区。
您可以使用本地副本加关键区域进行保护,并尝试使用本地变量。 4.调用非可重入或线程不安全的函数也将继承相应的特征。

公司: 深圳市捷比信实业有限公司

电话: 0755-29796190

邮箱: tao@jepsun.com

产品经理: 陆经理

QQ: 2065372476

地址: 深圳市宝安区翻身路富源大厦1栋7楼

微信二维码

更多资讯

获取最新公司新闻和行业资料。

  • 30V互补对N+P MOS管 在现代电子设备中,MOS管(金属氧化物半导体场效应晶体管)是不可或缺的组件之一,广泛应用于模拟和数字电路设计中。特别是对于30V互补对N+P MOS管,它在高压应用中表现尤为突出,能够提供优异的性能和稳定性。30V互补对N+...
  • PTTC聚鼎PG28E-M气体放电管参数及应用领域 气体放电管(Gas Discharge Tube, GDT)是一种广泛应用于电信系统中的过电压保护设备。PTTC聚鼎PG28E-M气体放电管是该领域中的一款优秀产品,以其卓越的性能和可靠性受到众多工程师和技术人员的青睐。这款气体放电管主要应用于通...
  • 气压开关三P-10:功能、应用及重要性 在细致探讨气压开关三P-10的功能与应用之前,我们先来了解其基本构造。气压开关三P-10是一种精密设备,主要用于监控和控制气压系统中的压力变化。这种开关的设计目的是为了确保机械设备的安全运行,通过检测压力的变化来...
  • N+P互补对MOS管工作原理 N沟道和P沟道互补型金属氧化物半导体(CMOS)技术是现代集成电路中最常用的技术之一。CMOS技术利用了N沟道MOSFET(NMOS)和P沟道MOSFET(PMOS)两种晶体管的互补特性,从而实现了低静态功耗、高噪声容限和较好的逻辑电平转换能力...
  • P沟道MOS管工作原理及应用 P沟道金属氧化物半导体场效应晶体管(P-MOSFET)是一种常用的电子器件,广泛应用于各种电子电路中。其工作原理基于电压控制电流的特性,与N沟道MOS管相比,P沟道MOS管在结构和工作方式上有一些显著的区别。### 工作原理P沟道...
  • ME--M限位开关:自动化控制中的关键组件 ME--M限位开关是一种用于控制机械设备运动位置或行程的电子装置。这种开关通过检测机械部件的位置来实现自动化控制,广泛应用于各种工业设备和系统中。在实际应用中,ME--M限位开关能够帮助设备在达到预设位置时停止、改...
  • P沟道MOS管100V参数及应用领域 在电力电子和模拟电路设计中,P沟道MOS管是一种非常重要的半导体器件,尤其适用于高压环境下的应用。P沟道MOS管100V型号意味着其能够承受的最大电压为100伏特,这使得它在许多需要高电压切换或调节的应用中表现出色。接下...
  • P沟道MOS管30V参数及应用实例 在电子工程领域中,P沟道MOS管因其独特的电气特性而被广泛应用于各种电路设计中。其中,电压等级达到30V的P沟道MOS管更是因其出色的性能,在高压应用场合中扮演着重要角色。下面将详细介绍这种器件的主要参数及其典型应用...
  • PH3-M瞬态抑制二极管插件TVS管 聚鼎产品特性与应用 关于聚鼎PH3-M瞬态抑制二极管插件TVS管,这是一种高效能的保护器件,广泛应用于各种电子设备中,以防止静电放电(ESD)、电气快速瞬变(EFT)以及雷击等引起的电压瞬变对电路造成损害。PH3-M系列具有低箝位电压、高能量吸收...
  • ST45-M智能控制器:高性能与灵活性的完美结合 ST45-M智能控制器是由一家专注于自动化控制技术的公司研发生产的一款高性能设备。该控制器集成了先进的微处理器和数字化信号处理技术,适用于多种工业环境下的自动化控制需求。它能够实现精准的数据采集与处理,支持多...
  • 31V至100V互补对N+P MOS管的应用与特性分析 在高压电力电子设备中,MOS管(金属氧化物半导体场效应晶体管)扮演着至关重要的角色。特别是那些工作在31V至100V电压范围内的MOS管,它们在电源管理、电机控制、LED驱动等众多领域发挥着重要作用。互补对N+P MOS管是指在同一...
  • P沟道MOS管电压范围从31V到99V的应用与选择 在电力电子和电源管理领域,P沟道MOS管因其高效能和低损耗特性而被广泛应用。对于需要处理较高电压的应用场景,比如某些直流-直流转换器、电机驱动系统或电池管理系统等,选择合适的P沟道MOS管显得尤为重要。针对您提到...
  • P沟道MOS管工作电压范围8V到29V的应用与选择 在电子工程领域,特别是在设计高压电源转换器、电机驱动器和逆变器时,正确选择合适的P沟道MOSFET(金属氧化物半导体场效应晶体管)至关重要。P沟道MOS管以其高输入阻抗、低导通电阻以及快速开关速度等特性,在低压至中压...
  • RALEC旺诠LR-A车用合金电阻 RALEC旺诠LR-A系列金属微合金电阻是属于汽车级金属微电阻,符合汽车级认证AEC-Q200。产品无铅无卤,符合ROHS环保标准。LR-A系列是金属板微电阻器。RALEC旺诠LR-A系列金属微合金电阻的主要特点有:1.符合汽车级认证,AEC-Q200。2.符合...
  • 德国P+F接近开关:工业自动化中的关键组件 德国P+F接近开关是工业自动化领域中不可或缺的一部分,它们被广泛应用于各种机械设备和生产线上,以实现非接触式的物体检测。这种传感器通过电磁场或射频技术来识别目标物体,无需与物体直接接触即可检测其存在与否,...
  • 德国福P+F接近开关:自动化控制领域的高效解决方案 德国福P+F公司是世界著名的传感器制造商之一,其生产的接近开关在自动化控制领域拥有极高的声誉。福P+F接近开关采用先进的传感技术,能够在无需物理接触的情况下检测到目标物体的存在,这不仅减少了机械磨损,还大大提...
  • 德国P+F电感式接近开关:工业自动化的关键组件 德国P+F(*福)是一家在传感器技术和自动化领域享有盛誉的公司。其电感式接近开关作为产品线中的重要一员,在工业自动化控制领域扮演着关键角色。这种类型的接近开关利用电磁感应原理来检测金属物体的存在与否,无需与目...
  • N+P互补对MOS管工作电压范围从8V到29V的应用与选型指南 在电子设计领域,特别是在电源管理和电机控制等应用中,选择合适的MOSFET(金属氧化物场效应晶体管)至关重要。N+P互补对MOS管因其独特的性能,在宽电压范围内提供了出色的解决方案。本文将围绕N+P互补对MOS管的工作电压范...
  • 霍尼韦尔SZL-WLC-A行程开关:可靠与灵活性的完美结合 霍尼韦尔SZL-WLC-A行程开关是一款高性能的设备,专为满足各种工业应用的需求而设计。该行程开关具备出色的可靠性和耐用性,能够在严苛的工作环境中保持稳定的性能。其设计灵活,安装简便,可以适应不同的安装空间和角度...
  • 浪涌电阻器SWR.A系列应用与特性详解 浪涌电阻器(SWR.A系列)是电力系统中不可或缺的一部分,主要用于抑制和吸收电网中的瞬时电压冲击,保护电力设备免受损害。这一系列的电阻器在设计上具有诸多优势,适用于多种应用场景,从工业生产到可再生能源发电站,...