本文原题“从小白到高手,你需要理解同步与异步”,本次收录已征得作者同意,转载请联系作者。即时通讯网收录时有改动。
funcA() { // 等待函数funcB执行完成 funcB(); // 继续接下来的流程 }
read(file, buf);
read(file, buf); // 程序暂停运行, // 等待文件读取完成后继续运行
read(file, buff); // read函数立即返回 // 不会阻塞当前程序
# 处理一次用户请求需要经过的步骤: A; B; C; 数据库读取; D; E; F;
// 主线程 main_thread() { A; B; C; 发送数据库查询请求; D; E; F; } // 数据库线程 DataBase_thread() { while(1) { 处理数据库读取请求; 返回结果; } }
在异步这种实现方案下主线程根本不去等待数据库是否查询完成,而是发送完数据库读写请求后直接处理下一个请求。
void handle_DEF_after_DB_query () { D; E; F; }
DB_query(request, handle_DEF_after_DB_query);
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
引用:白烟染黑墨 发表于 2021-01-18 18:08 请问8.3步,是否需要注册响应信号的函数?
引用:JackJiang 发表于 2021-01-18 21:31 你想说的,是回调函数是吧
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.125000 second(s), 45 queries , Gzip On.