当前位置: 首页 > news >正文

可重入函数和不可重入函数

场景:

正在进行节点的头插,节点的头插有两步:p->next=head; head=p

如果在进行第一步p->next=head时进程收到信号,并且该信号被自定义捕捉,其自定义函数也是节点头插,就会出现如下情况:

node1节点头插第一步完成,此时收到被自定义捕捉的信号,进行node2节点头插,信号处理完成后重新回到node1节点头插未完成的部分head=p,此时node1节点成为头节点,而node2节点丢失,发生内存泄漏。

这种现象叫做insert函数被重入,而insert函数就叫做不可重入函数。对于不会发生上述情况的函数就叫做可重入函数。

可重入函数和不可重入函数是函数的一种特征,并非优缺点,C++中的大部分常用函数都为不可重入函数。


http://www.mrgr.cn/news/60564.html

相关文章:

  • centos8.5环境下openresty使用lua访问redis、本地缓存、获取get参数,请求头以及获取post body参数
  • 基于深度学习的声音事件检测
  • 【Spring】IocDI
  • OpenCV视觉分析之目标跟踪(2)卡尔曼滤波器KalmanFilter的使用
  • 稳定性分析案例
  • 30篇脚本实例学会pandas库用法(补充中)
  • LVGL移植教程(超详细)——基于GD32F303X系列MCU
  • 量子容错计算
  • 【JVM】——GC垃圾回收机制(图解通俗易懂)
  • PowerShell 提示“系统禁止运行脚本”
  • 【嵌入式软件-STM32】按键控制LED 光敏传感器控制蜂鸣器
  • Shiro会话管理和加密
  • 医院信息化与智能化系统(11)
  • 阳振坤:云时代数据库的思考 | OceanBase发布会实录
  • 【高级IO】IO多路转接之epoll
  • 移植FreeRTOS实时操作系统(基于STM32F429)
  • Java运行时数据区
  • C++基础三
  • 华为大咖说丨如何通过反馈机制来不断优化大模型应用?
  • 销售拓客秘籍:线上渠道探寻与选择
  • 2024年【北京市安全员-A证】找解析及北京市安全员-A证考试试卷
  • 一周倒计时!2024中山智能家居峰会议程揭晓
  • 深入理解数据链路层:以太网帧格式、MAC地址、交换机、MTU及ARP协议详解与ARP欺骗探究
  • 300元蓝牙耳机性价比高的有哪些?学生平价蓝牙耳机推荐
  • 10位三维设计如何共享工作站算力和软件
  • Instagram如何加特效?轻松打造个性化动态效果的实用指南