IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:state machine

共 3 篇相关文章

IT 累计浏览 2,791

行为树及其实现

这篇讲的是作者如何将游戏AI中的行为树概念落地为一段具体的C代码实现。文章从游戏开发中传统状态机的扩展性难题切入,引出了行为树作为解决方案的背景。 作者梳理了行为树的核心结构:由负责逻辑判断的中间节点(如顺序、优先级)和执行动作的叶子节点构成,并通过“黑板”机制在节点间共享数据。重点在于其实现部分——作者对比了800行的C++实现,认为其封装偏深,因此用约400行C代码,以组合而非继承的方式完成了一个更轻量的版本,并解释了核心API如创建节点、分支与执行tick的设计。 文章还透露了行为树在工业实践中往往依赖可视化编辑器生成JSON描述,为后续扩展埋下了引子。整体而言,这是一次从理论到轻量级代码的实践记录。

IT 累计浏览 4,496

Memcached的线程模型及状态机

这篇讲的是 Memcached 内部是如何高效管理并发请求的。作者从对 Memcached 的好奇出发——这款广泛使用的分布式缓存,其核心源代码只有约10K行,但实现却非常精巧。他重点剖析了 Memcached-1.4.7 版本的线程模型与状态机设计。 文章的核心思路是,Memcached 通过“主线程监听 + 多个工作线程处理”的模型来分工。主线程负责接受连接,然后将这些连接分发给不同的工作线程。每个工作线程内部,则通过一个清晰的状态机来管理一个网络连接的完整生命周期:从等待数据、读取请求、处理命令,到最后写回响应。这种设计巧妙地避免了不同线程对同一连接资源的锁竞争,让每个线程都能独立、流畅地处理自己负责的连接。 通过源码分析,作者揭示了 Memcached 如何用相对简洁的代码实现了高并发的服务。状态机让请求的处理流程变得有序且易于维护,而线程模型则确保了多核CPU下的性能。对于想了解高性能服务端设计细节的开发者来说,这次源码之旅能帮助理解 Memcached 背后那些“看不见”却至关重要的架构决策。

IT 累计浏览 2,386

拒绝等死,大步向前

这篇讲的是技术人如何避免陷入被动等待、最终被环境淘汰的困境。作者从一次真实的戒酒经历切入,将戒断过程中的心理挣扎与技术成长中的瓶颈期做了类比。文章的核心观点是,与其在不确定的未来面前原地焦虑、被动“等死”,不如像戒酒一样,制定清晰的计划、寻求外部监督,并立刻采取微小但持续的行动来打破惯性。文中详细拆解了“承认问题-设定小目标-建立反馈循环”的具体步骤,尤其强调了“主动创造不适区”对于保持技术敏感度的重要性。这并非一篇空泛的鸡汤,而是用生活场景映射出了一套可操作的自我驱动方法论,对于感到迷茫或停滞的开发者来说,其中的行动思路颇具参考价值。