& 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楼

微信二维码

更多资讯

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

  • 如何根据实际需求选择合适的电阻阵列:CN..A、SWR..A与CRW..A系列深度指南 前言:电阻阵列在现代电子设计中的重要性随着电子产品向小型化、高性能和高可靠性方向发展,传统单个电阻已难以满足复杂电路的设计需求。电阻阵列作为一种集成化解决方案,不仅节省了PCB空间,还提升了装配效率与一致...
  • 如何根据应用场景选择合适的耐脉冲电阻?PWR..A、SWR..A与CRW..A系列选型指南 基于应用场景的耐脉冲电阻选型策略面对PWR..A、SWR..A和CRW..A三大系列,正确选择不仅影响设备性能,还直接关系到系统安全与维护成本。以下从实际应用出发,提供科学选型建议。1. 高压/高能环境:优先选用PWR..A系列当设备部署...
  • 深入解析电阻阵列CN..A系列与SWR..A系列、CRW..A系列的核心差异 引言在电子元器件领域,电阻阵列因其高集成度、稳定性和空间节省优势,广泛应用于精密电路、工业控制及通信设备中。其中,CN..A系列、SWR..A系列和CRW..A系列是市场上常见的三种电阻阵列型号。尽管它们均属于电阻阵列类别,...
  • 耐脉冲电阻PWR..A系列与SWR..A系列、CRW..A系列的性能对比分析 耐脉冲电阻PWR..A系列与SWR..A系列、CRW..A系列的核心区别解析在工业自动化、电力系统及高可靠性电子设备中,耐脉冲电阻因其出色的抗冲击能力而备受青睐。其中,PWR..A系列、SWR..A系列和CRW..A系列是市场上常见的三大类耐脉冲电...
  • 深入解析耐脉冲电阻阻值范围:如何根据PWR..A与CRW..A系列精准选型 耐脉冲电阻阻值范围的重要性在电子系统设计中,电阻不仅是基础元件,更是决定电路稳定性和安全性的重要因素。尤其是耐脉冲电阻,其阻值范围直接影响系统的过压保护能力、电流限制效果以及热耗散效率。本文将重点分析...
  • 深入解析抗硫电阻AS..A系列与CS..A系列的选型与设计要点 抗硫电阻选型指南:AS..A系列与CS..A系列实战应用策略面对复杂工业环境中的电磁干扰与化学腐蚀挑战,正确选择抗硫电阻是保障系统长期稳定运行的关键。本文从设计角度出发,系统梳理AS..A系列与CS..A系列的选型要点。1. 环境条...
  • 抗硫电阻AS..A系列与CS..A系列参数详解及应用优势分析 抗硫电阻AS..A系列与CS..A系列核心参数解析在工业自动化、石油化工、电力系统等高腐蚀环境中,电子元器件的可靠性至关重要。抗硫电阻(AS..A系列、CS..A系列)因其优异的耐硫化环境性能,成为关键电路中的首选元件。1. 基本电...
  • 浪涌电阻器SWR..A系列与CRW..A系列性能对比及应用解析 浪涌电阻器SWR..A系列与CRW..A系列概述浪涌电阻器是电子电路中用于抑制瞬态过电压、保护敏感元器件的重要元件。其中,SWR..A系列与CRW..A系列作为当前市场主流产品,凭借优异的耐冲击能力、高稳定性与长寿命,在工业控制、电...
  • 深入解析CRW..A系列与SWR..A系列电阻器在电力系统中的关键作用 CRW..A系列与SWR..A系列在电力系统中的核心价值随着智能电网与新能源接入系统的快速发展,电力设备对过压保护的需求日益增强。浪涌电阻器作为第一道防线,其性能直接关系到系统安全与运行连续性。本文将从技术原理、实际...
  • 耐脉冲电阻PWR..A系列与CRW..A系列阻值范围详解及应用解析 耐脉冲电阻PWR..A系列与CRW..A系列概述耐脉冲电阻是专为应对瞬时高能量脉冲设计的精密电子元件,广泛应用于电源管理、电机控制、通信设备及工业自动化系统中。其中,PWR..A系列与CRW..A系列是目前市场上备受青睐的两款高性能...
  • 如何正确选型与维护高压电阻器HVR..A系列及CR..A系列耐高温电阻 如何正确选型与维护高压电阻器HVR..A系列及CR..A系列耐高温电阻随着工业自动化与高端电子设备的发展,高压与高温环境下的电阻器选型与维护成为保障系统可靠性的关键环节。本文将系统阐述如何科学选型,并提供实用的维护策...
  • 厚膜电阻器CR..A系列与薄膜精密电阻器AR..A系列的性能对比分析 厚膜电阻器CR..A系列与薄膜精密电阻器AR..A系列核心差异解析在现代电子设备中,电阻器作为基础元件,其性能直接影响电路的稳定性与精度。其中,厚膜电阻器(CR..A系列)与薄膜精密电阻器(AR..A系列)因其制造工艺与材料特性...
  • 高压电阻器HVR..A系列与CR..A系列耐高温电阻的性能对比与应用解析 高压电阻器HVR..A系列与CR..A系列耐高温电阻的性能对比与应用解析在现代电子系统中,高压和高温环境下的稳定运行对元器件提出了极高要求。高压电阻器HVR..A系列与CR..A系列耐高温电阻正是为应对这些严苛工况而设计的高性能元...
  • 如何根据电路需求选择CR..A系列厚膜电阻器与AR..A系列薄膜电阻器 从电路设计角度深度解析电阻器选型策略在实际电路设计中,正确选择电阻器类型是保障系统性能的关键一步。面对市场上常见的厚膜电阻器(CR..A系列)与薄膜精密电阻器(AR..A系列),工程师需结合具体应用场景进行综合评估...
  • 30V互补对N+P MOS管 在现代电子设备中,MOS管(金属氧化物半导体场效应晶体管)是不可或缺的组件之一,广泛应用于模拟和数字电路设计中。特别是对于30V互补对N+P MOS管,它在高压应用中表现尤为突出,能够提供优异的性能和稳定性。30V互补对N+...
  • 气压开关三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沟道...
  • P沟道MOS管30V参数及应用实例 在电子工程领域中,P沟道MOS管因其独特的电气特性而被广泛应用于各种电路设计中。其中,电压等级达到30V的P沟道MOS管更是因其出色的性能,在高压应用场合中扮演着重要角色。下面将详细介绍这种器件的主要参数及其典型应用...
  • P沟道MOS管100V参数及应用领域 在电力电子和模拟电路设计中,P沟道MOS管是一种非常重要的半导体器件,尤其适用于高压环境下的应用。P沟道MOS管100V型号意味着其能够承受的最大电压为100伏特,这使得它在许多需要高电压切换或调节的应用中表现出色。接下...