协程与 async 降级
协程编译器把可挂起的函数改写成状态机。本文对比有栈与无栈协程的实现路径,推导状态机变换与帧布局,讲解挂起点分析、跨挂点变量提升与帧内存复用,再落到帧分配策略、与垃圾回收及栈复制的交互,以及 C++20、Rust、Go 的工程实践、取消语义与常见坑。
tag
协程编译器把可挂起的函数改写成状态机。本文对比有栈与无栈协程的实现路径,推导状态机变换与帧布局,讲解挂起点分析、跨挂点变量提升与帧内存复用,再落到帧分配策略、与垃圾回收及栈复制的交互,以及 C++20、Rust、Go 的工程实践、取消语义与常见坑。
拆解低代码平台与工作流引擎的集成:流程模型的表达(BPMN 与简化 DSL)、节点类型与执行语义、表单与流程的绑定、会签或签加签、条件分支与表达式、状态机持久化、定时任务与超时、外部系统集成、流程版本与灰度,以及可观测性,给出可运行的流程定义与状态流转实现,回答如何把审批流做对做稳。
本文讲解状态机引擎的设计与落地,回答状态该定义在代码里还是表里、并发流转如何防冲突、状态爆炸怎么治。覆盖有限状态机的五个要素、表驱动实现、带前置条件的原子更新与乐观锁、幂等键与审计日志、非法流转的三层防御、超时推进、Spring StateMachine 与 Step Functions 的 ASL 实战,并给出测试策略与落地路线。
深入有限状态机的设计方法与时序工程实践:Moore 与 Mealy 的本质差异、二段式与三段式写法、binary 与 one-hot 编码取舍、跨时钟域同步与亚稳态、复位策略、时钟使能与分频,并给出 UART 发送状态机的完整 Verilog 实现与验证方法。
系统讲解有限状态机设计:状态/事件/转移/动作四要素、状态转移表与状态图、Mealy 与 Moore 的取舍、分层状态机与 Harel 状态图、状态爆炸与正交区域、switch/表驱动/State 模式三种实现、工作流与协议解析落地,以及测试与可视化。
《在线联机原型全集》第 14 章的章节导读。本章用房间逃脱(Room Escape)验证同步合作解谜:以 Puzzle FSM 描述单个谜题、用事件与 Guard 条件把多个 FSM 组成场景级超图、多人同步动作的判定窗口、并发操作的仲裁与回滚、房间生命周期的七态机、重进与旁观处理,以及软同步加硬落点的延迟补偿与 Event Log 复盘。本页给出本章定位、核心验证目标、技术栈建议与文章清单。
循环式 Agent 适合开放式任务,但固定流程需要显式结构。本节手写 minagent 的最小图引擎:Node(名字加一个函数)、Edge(源到目标、可带条件)、Graph(add_node/add_edge/set_entry/run),节点间用 dict 状态传递数据。用假模型真跑一条分类→检索→综合的三节点线性链,打印每个节点的进出 state,并给出图编排与循环式 Agent 的取舍表。
本节把帧动画与补间收束成由状态驱动的表现层:定义 idle、run、jump、hurt 四态与转移规则,用权重做过渡混合、优先级处理打断;再手写 HeroPresenter 接进 mini2d,最后对照 Cocos Creator 3.8 的 crossFade、AnimationState、SkeletalAnimation 与 ParticleSystem2D。
把经典设计模式落到 Lua 里:单例、工厂、观察者、状态机、命令模式如何用 table、元表与闭包实现,每种模式在 Lua 里的简化形态,以及与面向对象风格的差异和取舍。
深入讲解属性测试(Property-Based Testing)方法论:与传统用例测试的本质区别、不变式与测试性质的设计、Hypothesis/QuickCheck/rapid 等工具实战、反例最小化(shrinking)、状态机属性测试、自定义数据生成策略,以及属性测试的适用边界与团队落地。
深入探索 LLM Agent 的工作流编排模型:DAG(有向无环图)编排、状态机驱动、事件触发与暂停恢复。 涵盖 LangGraph 的图式编排、Temporal 的长任务持久化、以及事件总线驱动的异步 Agent 架构。 附完整的 LangGraph + Temporal 集成案例,含可运行代码与可视化。
以状态、事件、计时器、UI、分数和关卡为主线,搭建可验证、可扩展的 Defold 游戏机制。
一个个人潜行动作游戏在有限状态机、行为树和 GOAP 之间做敌人 AI 技术选型的案例,详细讨论可调试性、关卡脚本、警戒状态和个人开发维护成本。
为什么这个问题要单独设计 复杂页面卡住时,不应靠猜节点树;状态机要能显示当前状态、阻塞原因和旧回调。很多团队会把它当成局部功能,在某个按钮、某个页面、某个脚本里补一段判断。短期看,这样最快;项目跑过几轮版本之后,就会出现同一件事在三个地方有三种解释的情况。玩家看到的是一个客户端,团队内部却把责任拆散了。