
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文介绍了一种高性能原子读写锁的实现方案,主要针对C++17标准库锁在低延迟高并发场景下的性能瓶颈。文章采用分层设计思想,将锁的管理与实现解耦: 首先通过模板元编程实现RAII风格的锁守卫(ReadLockGuard/WriteLockGuard),利用对象生命周期自动管理锁,避免死锁风险,同时保持零开销抽象和代码复用性。 核心锁实现基于std::atomic,采用单变量状态机设计: 使用一个at

本博客简明介绍了大语言模型(LLM)的基本原理、主要能力和典型应用场景。内容涵盖了多模态能力、Agent智能体与生态工具、提示工程(包括CO-STAR框架、少样本/多示例提示、思维链提示、自我批判与迭代)、嵌入模型与语义检索、RAG检索增强生成、多模态应用案例、主流模型对比与选型建议、安全合规要点以及应用建议。文章适合开发者、产品经理和AI爱好者快速了解大语言模型的核心知识与实际应用。

摘要:本文介绍LangChain框架及其核心组件LCEL(LangChain Expression Language),帮助开发者简化大模型应用开发。主要内容包括:1)LangChain解决模型碎片化、数据连接和流程编排等开发痛点;2)环境配置与API密钥设置;3)使用ChatModel进行对话交互;4)LCEL语法通过管道符"|"组合Prompt、Model和Parser组件

本文分享了使用Copilot作为代码助手的实用工作流。作者强调不应让AI直接编写核心业务代码,而是将其作为"结对编程助手"主导开发过程。工作流分为五个阶段:1)通过AI快速解析代码结构和数据流;2)需求分析阶段与AI讨论方案并验证思路;3)编码时先提供详细逻辑再让AI补充代码;4)利用AI编写测试脚本和查找潜在bug;5)处理文档和配置等杂务。文章指出,AI的上限取决于开发者如

摘要:本文介绍了在VSCode插件过多导致内存不足时,通过设置Linux Swap交换分区来临时缓解问题的方案。详细说明了创建Swap分区的7个步骤:检查当前内存状态、确认磁盘空间、创建Swap文件、转换文件格式、激活分区、验证效果以及设置开机自动挂载。同时提供了停用和删除Swap分区的方法。文章指出这仅是临时解决方案,最终仍需通过升级服务器配置来彻底解决问题。Swap分区相当于Windows的虚
摘要: 工业级系统(如自动驾驶框架Cyber RT)需要高精度、抗干扰的时间管理机制。尽管C++11提供了<chrono>库,但其冗长语法、时间跳变风险(如NTP同步导致回滚)以及物理单位不统一等问题促使开发者自建时间架构。核心组件包括: Duration:基于纳秒的时间段,封装线程休眠; Time:区分挂钟时间(Now())和单调时间(MonoTime()),避免回滚影响; Rate

本文探讨了一种基于链表法的无锁哈希表(AtomicHashMap)实现。相比传统加锁方案,该设计利用CAS原子指令实现非阻塞操作,特别适合高并发读多写少场景。核心采用固定桶数组+有序单向链表结构,通过Dummy Head节点简化插入逻辑。关键点包括:1)无锁插入通过CAS保证链表完整性;2)原子更新value_ptr实现值替换;3)读操作完全无锁且无等待。文章同时指出内存安全风险,建议在高并发场景

本文探讨了从无界无锁队列到基于环形数组的有界无锁队列的优化过程。针对极速高频并发场景下动态内存分配的性能瓶颈,提出预分配连续内存方案,通过三游标设计(head_、tail_、commit_)解决MPMC并发中的脏读问题。重点分析了伪共享(False Sharing)对性能的影响,提出使用内存对齐(alignas)隔离高频变量以提升吞吐量。同时介绍了CPU退让(cpu_relax)和优化取模运算等底

本文介绍了一种基于链表的高性能无界无锁队列实现。针对无界队列在并发环境下的内存管理难题,文章提出采用引用计数机制来安全回收节点内存,避免Use-After-Free问题。通过std::atomic和CAS操作实现线程安全的入队(Enqueue)和出队(Dequeue),其中生产者采用Wait-Free优化,消费者通过引用计数安全释放节点。文章还展示了如何与WaitStrategy策略结合,实现优雅









