int yuxiangrousi = 0; // 全局变量:鱼香肉丝(酱油量)// 回调函数:妈妈处理酱油(将酱油加入鱼香肉丝)
void mother_callback(int new_jiangyou)
{yuxiangrousi += new_jiangyou; // 把酱油放进鱼香肉丝
}// 孩子买酱油(模拟异步操作,如另一个线程)
// 参数:妈妈的回调函数(处理酱油的函数)
void son_dajiangyou(void(*mother_callback)(int jiangyou_bought))
{int temp_jiangyou;temp_jiangyou = by_jiangyou(); // 假设调用买酱油的函数(未定义,模拟获取酱油量)mother_callback(temp_jiangyou); // 调用妈妈的回调函数处理酱油
}// 妈妈做饭的主逻辑
void mother_cooking(void)
{cook_yuxiangshousi(); // 先做鱼香肉丝(未定义,模拟烹饪步骤)son_dajiangyou(mother_callback); // 让孩子去买酱油,回来后调用回调处理cook_soup(); // 做西红柿鸡蛋汤(未定义,模拟后续步骤)
}// 辅助函数(假设存在,实际需根据场景实现)
// int by_jiangyou(void);       // 买酱油(获取酱油量,未实现)
// void cook_yuxiangshousi(void); // 做鱼香肉丝(未实现)
// void cook_soup(void);         // 做汤(未实现)

代码解释:

  1. 全局变量yuxiangrousi记录鱼香肉丝中的酱油量(初始为 0)。
  2. 回调函数 mother_callback
    • 接收新买的酱油量(new_jiangyou),更新全局变量(模拟将酱油加入菜品)。
  3. son_dajiangyou 函数
    • 模拟孩子买酱油的过程(异步操作,如另一个线程)。
    • 调用by_jiangyou获取酱油量(模拟购买),然后通过回调函数(mother_callback)通知妈妈处理酱油。
  4. mother_cooking 函数
    • 主逻辑:先做鱼香肉丝(此时酱油量为 0),然后让孩子买酱油(异步,不阻塞主线程),同时继续做汤(模拟并行操作)。
    • 当孩子买完酱油(son_dajiangyou执行完毕),自动调用mother_callback更新鱼香肉丝的酱油量(模拟异步回调的效果)。

关键概念(结合回调函数):

  • 异步模拟son_dajiangyou 模拟异步任务(如线程),mother_callback 作为回调函数,在任务完成后(买酱油回来)被调用。
  • 回调机制:妈妈(主线程)在做饭时,不需要等待孩子买酱油(避免阻塞),而是通过回调函数在酱油回来后处理,实现 “并行” 操作(实际在单线程中是顺序执行,但逻辑上模拟异步)。

自己理解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/81770.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/81770.shtml
英文地址,请注明出处:http://en.pswp.cn/web/81770.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多部手机连接同一wifi的ip一样吗?如何更改ip

通常情况下,多部手机连接同一个WiFi时,它们的IP地址是各不相同的(在局域网内)。但是,从互联网(外网)的角度看,它们共享同一个公网IP地址。让我详细解释一下,并说明如何更…

环境温度通过H2A.Zub和H3K27me3动态调控拟南芥细胞命运决定

2025年4月22日,中国科学院遗传与发育生物学研究所肖军研究组在Developmental Cell在线发表了题为Dynamic control of H2A.Zub and H3K27me3 by ambient temperature during cell fate determination in Arabidopsis的研究论文,本研究综合运用ChIP-seq、C…

2024 吉林 CCPC

文章目录 2024 吉林 CCPCL. Recharge(思维、分配)G. Platform Game(模拟)E. Connect Components (排序、思维)D. Parallel Lines 2024 吉林 CCPC 题目链接: Dashboard - The 2024 CCPC National Invitational Contest (Changchun) , The 17…

day13 leetcode-hot100-24(链表3)

234. 回文链表 - 力扣(LeetCode) 1.转化法 思路 将链表转化为列表进行比较 复习到的知识 arraylist的长度函数:list.size() 具体代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode ne…

Vim文本编辑器快捷键用法以及简单介绍

目录 vim文本编辑器 简介: 语法: vim模式介绍: 模式切换: 用法: 编辑模式: 一般模式: 命令模式: vim文本编辑器 简介: 在命令行界面下,最常用的文本…

从 0 到 1:Spring Boot 与 Spring AI 深度实战(基于深度求索 DeepSeek)

在人工智能技术与企业级开发深度融合的今天,传统软件开发模式与 AI 工程化开发的差异日益显著。作为 Spring 生态体系中专注于 AI 工程化的核心框架,Spring AI通过标准化集成方案大幅降低 AI 应用开发门槛。本文将以国产大模型代表 ** 深度求索&#xff…

[Windows] 摸鱼小工具:隐藏软件(重制版)

由吾爱大神写的摸鱼工具: 数据存放路径为C:\Users\用户名\AppData\Local\HideSoft,如果不想用时,删除软件及此路径下的HideSoft文件夹。如添加了开机启动,删除启动菜单文件夹的快捷方式即可,或者删除前在软件中取消设置…

C++ 判断文件的编码类型

大多数文本编辑器,都会在文本文件的头部插入一部分特殊的字节,用于辅助文本编辑器来判断该文件的字符集编码类型。 如:记事本 目前支持的字符集类型,通常为三种: Unicode、UTF8、UnicodeBIG、CP_ACP(默认…

时间序列噪声模型分析软件推荐与使用经验

最近在论文大修2024年投稿的一篇文章,大修了2轮,最后一次还是重新投稿,其中有一个问题一直被审稿人怼,他认为我计算时间序列的趋势的时候,没有考虑时间的相关性,即对噪声模型的估计不合理,会影响…

【redis实战篇】第六天

摘要: 本文介绍了基于Redis的秒杀系统优化方案,主要包含两部分:1)通过Lua脚本校验用户秒杀资格,结合Java异步处理订单提升性能;2)使用Redis Stream实现消息队列处理订单。方案采用Lua脚本保证库…

【Java Web】速通HTML

参考笔记: JavaWeb 速通HTML_java html页面-CSDN博客 目录 一、前言 1.网页组成 1 结构 2 表现 3 行为 2.HTML入门 1 基本介绍 2 基本结构 3. HTML标签 1 基本说明 2 注意事项 4. HTML概念名词解释 二、HTML常用标签汇总 + 案例演示 1. 字体标签 font (1)定义 (2)案例 2…

Oracle/openGauss中,DATE/TIMESTAMP与数字日期/字符日期比较

ORACLE 运行环境 openGauss 运行环境 0、前置知识 ORACLE:DUMP()函数用于返回指定表达式的数据类型、字节长度及内部存储表示的详细信息 SELECT DUMP(123) FROM DUAL; -- Typ2 Len3: 194,2,24 SELECT DUMP(123) FROM DUAL;-- Typ96 Len3: 49,50,51 -- ASCII值&am…

[学习]C++ 模板探讨(代码示例)

C 模板探讨 文章目录 C 模板探讨一、模板基础概念二、函数模板三、类模板1. 类模板的定义与使用2. 成员函数模板3. 类模板的静态成员与继承 四、模板进阶特性1. 非类型模板参数2. 可变参数模板(Variadic Templates)3. 模板元编程(TMP&#xf…

人工智能-训练AI模型涉及多个步骤

训练AI模型涉及多个步骤,包括数据预处理、选择合适的模型、训练模型以及评估模型性能。下面是一个详细的流程,以常见的机器学习任务——分类问题为例,展示如何使用Python中的scikit-learn库来训练一个简单的AI模型。 步骤 1: 导入所需的库 …

LVS+Keepalived 高可用

目录 一、核心概念 1. LVS(Linux Virtual Server) 2. Keepalived 二、高可用架构设计 1. 架构拓扑图 2. 工作流程 三、部署步骤(以 DR 模式为例) 1. 环境准备 2. 主 LVS 节点配置 (1)安装 Keepali…

TCP 三次握手过程详解

TCP 三次握手过程详解 一、TCP握手基础概念 1.1 什么是TCP握手 TCP三次握手是传输控制协议(Transmission Control Protocol)在建立连接时的标准过程,目的是确保通信双方具备可靠的双向通信能力。 关键结论:三次握手的本质是通过序列号同步和能力协商建立可靠的逻辑连接。 …

李宏毅NLP-7-CTC/RNN-T文本对齐

LAS LAS(Listen, Attend and Spell )模型,在语音识别中的解码和训练过程,具体内容如下: 解码(Decoding) 公式 Y ∗ arg ⁡ max ⁡ Y log ⁡ P ( Y ∣ X ) Y^* \arg\max_Y \log P(Y|X) Y∗ar…

jQuery和CSS3卡片列表布局特效

这是一款jQuery和CSS3卡片列表布局特效。该卡片布局使用owl.carousel.js来制作轮播效果&#xff0c;使用简单的css代码来制作卡片布局&#xff0c;整体效果时尚大方。 预览 下载 使用方法 在页面最后引入jquery和owl.carousel.js相关文件。 <link rel"stylesheet&qu…

Microsoft 推出 Magentic-UI,多智能体引领网页人机协作变革

当前&#xff0c;现代生产力与网页操作紧密相连&#xff0c;信息检索、表单填写、仪表盘导航等网页任务已成为工作流程的重要环节。然而&#xff0c;大量网页任务仍依赖人工重复操作&#xff0c;效率低下且易出错。与此同时&#xff0c;许多 AI 智能体虽追求自主运行&#xff0…

2023年6级第一套长篇阅读

画名词概念&#xff0c;动词概念 多处定位原词加同义改写 画关键词&#xff0c;多处定位直接就可以选A了 没有定位的句子先比没匹配到的段落&#xff0c;再匹配长的段落先易后难