自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 速通OS笔记,速!速!速!

本文摘要: 操作系统课程内容涵盖七大核心模块:操作系统概论、用户接口与作业管理、进程管理、死锁、存储管理、文件管理和设备管理。第一章重点阐述操作系统作为资源管理者和用户接口的双重角色,介绍其发展历程(从人工操作到现代分时/实时系统)和四大基本特征(并发、共享、虚拟、异步)。第二章详解用户接口,包括系统调用机制(内核态/用户态切换)和Shell命令解释器的工作原理。后续章节将深入探讨进程调度、内存管理、文件系统等核心机制,构建完整的操作系统知识体系。本课程注重理论与实践结合,帮助学生理解现代操作系统的设计原理

2026-06-24 11:37:01 269

原创 GitHub 日榜速递 (2026-06-08):AI 基础设施正在“下沉“(技术分析版)

GitHub 日榜速递:AI 基础设施新动向 今日 GitHub 趋势榜聚焦 AI 工程基础设施的四个关键层面: Goose - Rust 原生 AI Agent 框架,具备三层安全检测(安全分析/策略拦截/流量审计)和智能上下文压缩机制,支持 70+ 扩展协议 Open Notebook - NotebookLM 的开源替代方案,支持 18+ AI 供应商切换,内置智能模型调度和加密凭证管理,特别适合隐私敏感场景 Turbovec - 高性能向量索引工具,采用零训练量化技术,在 ARM 架构上比 FAIS

2026-06-08 11:08:47 626

原创 GitHub 日榜速递 (2026-06-08):AI 基础设施正在“下沉“

GitHub 日榜揭示AI基础设施新趋势 2026年6月8日的GitHub热门项目显示,AI技术竞争已从模型规模转向底层基础设施优化。四个代表性项目分别聚焦: Rust原生AI Agent(Goose):三层安全检测机制,支持70+扩展工具,性能与安全并重; 开源知识管理工具(Open Notebook):兼容18+AI供应商,支持本地部署与隐私保护; 高效向量搜索(Turbovec):零训练量化技术,内存占用减少87%,ARM性能提升12-20%; PostgreSQL工作流引擎(pg_durable)

2026-06-08 11:07:07 282

原创 上下文成本四把刀: 本期 GitHub Trending Daily 精选技术分析版(2026-06-04)

项目摘要 Microsoft/markitdown 是微软AutoGen团队开发的"文件转Markdown"工具,专为LLM数据预处理设计。它支持20+种输入格式转换,保留关键结构信息,以LLM友好为目标。核心特点包括基于优先级和Magika内容识别的转换链、18个内置转换器、官方插件机制等。相比textract、pandoc等工具,它在输出保真度和LLM适配性上更具优势,适用于RAG预处理、混合模态批处理等场景,但存在保真度限制和依赖体积问题。 D4Vinci/Scrapling 是一个集自适应元素选择器

2026-06-04 20:47:12 322 5

原创 上下文成本四把刀本期 GitHub Trending Daily 精选 (2026-06-04)

四个项目拼到一起, 是一条完整的"AI 应用工程上下文成本" 流水线:🌐 采 (Scrapling) → 📄 喂 (markitdown) → 📑 抽 (opendataloader-pdf) → 🧠 压 (headroom)自适应爬虫 · 多格式→Markdown · PDF 解析 + 无障碍 · token 削 60-95%任何一环成本砍掉一半, 整个 LLM 应用的总成本都能看到量级下降. 这次的 4 个项目, 就是这套流水线上最新的"瑞士军刀" 🛠️.觉得这份简介太"轻" 了?

2026-06-04 20:44:16 542

原创 Agent Harness 记忆:发展趋势与未来方向深度研究

2025–2026 的 Agent Harness 记忆正从"长上下文 + RAG"走向"分层、可写、可演化"的四类架构竞争;未来 1–3 年的胜负,取决于谁能先把"事实会过期"做成 TKG 的边失效、谁能先把"该忘的能忘掉"做成合规的删除语义、谁能先把跨 Harness 的记忆接口做成事实标准。

2026-06-03 18:36:16 375

原创 Claude Code 如何在大型代码库中工作:我读懂了什么

本文探讨了Claude Code在大型代码库中的运行机制与最佳实践。核心观点包括:传统RAG方案在大规模代码库中存在索引滞后问题,而Claude采用智能grep策略;工具链(harness)与模型同等重要;分层配置(CLAUDE.md)、按需加载(Skills)、LSP集成等设计能显著提升效率;子代理(Subagents)分工可避免上下文污染;配置需要持续维护,建议每3-6个月审查更新。文章特别强调组织因素的关键作用,建议设立专门的Agent Manager角色,通过跨职能工作组协调技术配置、权限管理和推广

2026-05-19 13:27:39 435

原创 放弃第三方框架,用系统自带工具玩转 Shell 测试

本文介绍了一套基于Shell脚本和TAP协议的轻量级测试方案,无需第三方依赖即可实现自动化测试。该方案使用系统自带的prove命令作为测试运行器,通过TAP协议输出测试结果。文章详细讲解了测试环境搭建、用例编写、环境隔离、错误日志管理等核心要点,并展示了如何封装公共函数实现模块化测试。这套方案特别适合Shell脚本和命令行工具的测试,具有简单易用、跨平台兼容的特点,可媲美Python unittest的测试体验。

2026-05-16 11:25:31 483 1

原创 OpenAI 如何安全运行 Codex:Agent 时代的“AI 安全操作系统

OpenAI 如何安全运行 Codex:Agent 时代的"AI 安全操作系统" OpenAI 文章揭示了 Codex 作为执行系统的安全架构,标志着 AI 从建议系统向执行系统的转变。核心安全机制包括: 沙箱隔离:限制文件、网络和系统访问 分级审批:低风险自动执行,高风险人工审批 网络管控:严格限制外网访问 凭证管理:绑定企业身份体系 行为审计:完整记录 Agent 意图和执行轨迹 这实质上构建了一个"AI 操作系统权限模型",将传统操作系统的安全理念(如 SELi

2026-05-13 13:25:15 1252

原创 Perplexity 如何设计 Agent Skills:从 Prompt Engineering 到 Context Engineering

Perplexity提出"Skill"作为Agent能力的工程化管理单元,将传统Prompt Engineering升级为Context Engineering。Skill是面向模型的可路由、可加载、可维护的运行时上下文模块,采用分层渐进式加载机制:索引层(<100token)负责路由,核心层(~5000token)包含规则和常见问题,资源层按需加载。方案解决了传统Prompt工程中上下文膨胀、注意力分散等问题,将Agent系统竞争力转向上下文组织效率

2026-05-13 13:14:27 762

原创 从“别做多智能体”到“让多智能体真正工作”

读完 Cognition 团队十个月后的复盘,我对多智能体系统有了新的认识大约十个月前,我第一次读到“Don’t Build Multi-Agents”那篇文章时,印象很深。作者的核心论点是:大多数人不应该尝试构建多智能体系统,因为并行写入的智能体会在风格、边界情况和代码模式上做出相互冲突的隐式决策,最终让产品变得脆弱。当时我觉得这个警告很有道理,也亲眼见过一些团队在多智能体上踩坑。

2026-05-09 11:07:15 469

原创 多智能体协调模式:五种方法及其适用场景

构建多智能体系统时,选择合适的协调模式往往比优化单个智能体的能力更重要。盲目追求“高级”模式而忽略问题本身的适配性,是许多团队容易陷入的误区。本文系统介绍五种实用的多智能体协调模式 ——和—— 分析各自的 trade-offs,并提供从简到繁的演化路径。本文基于 Claude 平台工程团队的实践总结,原文标题:。

2026-05-09 10:48:31 444

原创 放弃封装,回归裸金属:Browser Use 给所有Agent开发者上的沉痛一课

摘要: 当前AI浏览器代理过度封装,反而限制了大模型能力。文章反思了过度包装CDP协议和异常处理的错误,指出大模型原生理解浏览器底层操作。裸用CDP具有处理复杂页面、反爬和无痕特征等优势。作者提出极简架构(仅600行代码),允许模型自行修改代码甚至补全功能,如自主实现文件分片上传。核心观点是:人类过度严谨的代码成为AI的束缚,未来方向应是删减代码、回归底层,充分释放大模型的原始能力。开源项目Browser Harness展示了这一理念的实践成果。

2026-05-08 17:14:47 432

原创 还在使用向量检索吗?来试试构建个人知识库的新范式:LLM Wiki

摘要:LLM Wiki 提出了一种新型知识管理范式,通过持久化、结构化的维基系统替代传统RAG。其核心在于让LLM主动构建和维护知识库,而非每次查询时重新检索原始文档。系统采用三层架构(原始资料层、Wiki层、Schema层)和标准化操作流程(摄取、查询、检查),实现了知识的持续积累与更新。开源项目llm-wiki展示了该理念的落地实现,支持多场景模板、两阶段知识处理、智能问答等功能,显著提升了知识复用率和维护效率。相比传统方法,LLM Wiki使知识库能够像活体系统般持续进化,而非静态存档

2026-05-06 11:30:11 726

原创 Lessons from Building Claude Code: How We Use Skills

Anthropic 在 Claude Code 中使用 Skills 的经验总结。Skills 已成为最常用的扩展点之一,具有灵活、易于制作和简单分发的特点。文章通过实际经验整理出了技能的类型、制作技巧和分发建议。

2026-03-24 13:37:55 826

原创 RAG (Retrieval-Augmented Generation) 检索增强生成

RAG (检索增强生成)技术摘要 RAG技术通过结合外部知识检索与大语言模型生成能力,显著提升回答质量。核心流程包括:用户提问→检索文档→构建上下文→生成回答。优化方法包括:多查询扩展(Multi-Query)增加检索广度,RAG-Fusion加入重排序提升精度,问题分解(Decomposition)处理复杂问题,Step-back Prompting实现抽象检索。路由机制根据问题特征智能选择数据源,包括逻辑路由和语义路由两种方式。查询构造技术将自然语言转换为SQL、Cypher等结构化查询。索引优化通过分

2026-03-02 18:39:39 1082

原创 Github Trending一周汇总(2026.2.1-2026.2.8)

本次榜单中的13个热门项目,核心聚焦两大技术热点:一是AI智能体相关(含私人AI助手、编码智能体、智能体编排、记忆增强等),二是大模型轻量化相关(含1比特LLM推理、低成本部署等),均为当前AI技术落地应用的核心方向。从技术特性来看,项目主要具备三大特点:其一,开发语言集中度高,TypeScript与Python为主要开发语言,分别适配前端/全栈场景与AI/后端场景;其二,实用性突出,均围绕开发者实际需求设计,解决了AI辅助开发、大模型部署、多智能体协同等痛点;

2026-02-08 08:00:00 4147

原创 带你读懂Effective C++(八,九): 定制new和delete, 杂项讨论

摘要:本文系统讲解了C++内存管理的关键技术,包括new-handler行为准则、new/delete的合理替换时机、placement new/delete的配对规则等核心内容。重点阐述了自定义内存管理组件的规范要求:new-handler需遵循释放内存、更换handler等5个行为准则;替换new/delete需满足调试、性能优化等5种场景;placement delete必须与new严格配对以避免内存泄漏。同时强调了编译器警告的重要性及标准库/Boost的使用价值。

2026-02-06 08:41:08 1198

原创 带你读懂Effective C++(七): 模板和泛型编程

本文系统阐述了C++模板编程的8个核心条款(41-48),重点解析了隐式接口与编译期多态(条款41)、typename的双重意义(条款42)、模板化基类名称处理(条款43)、参数无关代码抽离(条款44)、成员函数模板兼容性(条款45)、非成员函数类型转换(条款46)、traits类类型信息(条款47)以及模板元编程(条款48)。这些条款揭示了模板编程的底层机制:通过隐式接口和编译期多态实现泛型编程;利用模板特化和traits类管理类型信息;借助成员函数模板增强兼容性;采用模板元编程将计算移至编译期。

2026-02-05 10:51:02 1362

原创 带你读懂Effective C++(六): 继承与面向对象设计

本文摘要:C++继承机制深度解析与设计准则 继承关系核心准则 public继承必须严格遵循is-a关系,派生类需完全兼容基类所有行为(条款32) 避免重定义non-virtual函数(条款36)和虚函数缺省参数(条款37),防止破坏继承语义 继承设计模式 区分接口继承与实现继承(条款34),灵活使用纯虚/非纯虚/非虚函数 考虑virtual函数替代方案(条款35):NVI模式、策略模式等 复合与继承选择 优先使用复合(条款38),has-a关系优于继承 谨慎使用private继承(条款39),仅在需要访问p

2026-02-04 18:13:33 1366

原创 带你读懂Effective C++(五):代码实现

本文摘要: C++高效编程的核心原则包括:延后变量定义(条款26)以减少构造/析构开销;避免转型动作(条款27)以维护类型安全;不返回对象内部句柄(条款28)防止封装破坏;确保异常安全(条款29)的三个级别保证;谨慎使用inline(条款30)避免代码膨胀;最小化编译依赖(条款31)通过pimpl和接口类技术。这些原则共同优化了C++程序的性能、安全性和可维护性,强调在效率与工程实践间取得平衡,特别适用于大型项目开发。

2026-01-31 14:23:44 1296

原创 带你读懂Effective C++(四):设计与声明

文章摘要: 本文系统阐述了C++接口与类设计的核心原则。在接口设计方面,强调通过强类型约束、资源自动管理等方式使接口易正确使用且不易误用;在类设计层面,指出class本质是类型扩展,需全面考虑12个关键问题。参数传递推荐const引用以避免拷贝和对象切割,返回值必须返回对象而非引用。封装性方面要求成员变量私有化,优先使用非成员非友元函数。特殊场景处理包括:需隐式转换时采用非成员函数,pimpl类应自定义noexcept的swap函数。这些原则共同构成了健壮、高效、可维护的C++设计范式。

2026-01-30 11:50:34 1623

原创 带你读懂Effective C++(三):资源管理

资源管理章节核心总结核心思想:RAII 是资源管理的基石,将资源生命周期与对象生命周期绑定,利用析构函数自动释放资源;拷贝行为:RAII 对象的拷贝由底层资源决定,常用方案为 “禁止拷贝” 和 “引用计数”;原始资源访问:RAII 类需提供显式 / 隐式访问接口,平衡安全性和便捷性,其核心是 “管理资源” 而非 “封装资源”;基础规则:new/delete的[]必须一一对应,避免内存布局不匹配导致的未定义行为;实操细节:智能指针接收new对象时必须拆分为独立语句,规避编译器执行顺序优化导致的隐蔽泄

2026-01-29 08:45:51 954

原创 带你读懂Effective C++(二):构造/折构/赋值运算

本文总结了C++中构造/析构/赋值运算的核心准则:1)编译器会为类自动生成默认构造、拷贝构造、拷贝赋值和析构函数,但某些情况下(如含const成员)不会生成;2)禁用不需要的编译器生成函数可通过私有声明或继承Uncopyable基类;3)多态基类必须声明虚析构函数以避免资源泄漏;4)析构函数不应抛出异常,应捕获并处理;5)构造/析构期间不要调用虚函数;6)operator=需处理自我赋值,推荐copy-and-swap方法;7)拷贝函数需复制所有成员变量及基类成分。这些规则对编写健壮的C++类至关重要。

2026-01-28 18:08:45 1026

原创 带你读懂Effective C++(一):让自己习惯C++

本文摘要:C++高效编程四大核心原则:1) 将C++视为由C、面向对象、模板和STL组成的语言联邦,针对不同场景选择合适范式;2) 优先使用const/enum/inline替代#define,确保类型安全和调试友好;3) 充分利用const修饰符,包括迭代器/指针、函数返回值、成员函数等场景,并通过const/non-const函数复用减少重复代码;4) 严格初始化管理,使用成员初始化列表替代构造函数赋值,并注意跨编译单元static对象的初始化顺序问题,推荐使用local static对象解决方案。这些

2026-01-27 08:32:57 934

原创 侯捷C++系列笔记:C++2.0新特性(二)

本文介绍了现代C++中的关键特性及其应用: 类型别名:using替代typedef,支持模板别名和命名空间导入 异常说明:noexcept声明不抛异常,对移动操作至关重要 继承控制:override确保正确覆写虚函数,final禁止继承/覆写 类型推导:decltype获取表达式类型,支持模板编程 Lambda表达式:匿名函数,支持捕获列表和可变参数 移动语义:右值引用(&&)和完美转发(std::forward)实现高效资源转移 可变参数模板:支持任意数量/类型参数,用于元编程

2026-01-26 16:01:03 761

原创 侯捷C++系列笔记:C++2.0新特性(一)

摘要:本文系统梳理了现代C++(C++11及后续版本)的核心特性,包括可变参数模板、nullptr、explicit构造函数、范围for循环、=default/=delete、别名模板和模板模板参数。重点讲解了可变参数模板的递归展开与C++17折叠表达式、nullptr的类型安全性、explicit防止隐式转换的机制、范围for的实现原理,以及=default/=delete对特殊成员函数的控制。通过代码示例展示了别名模板简化复杂类型声明和模板模板参数的适配技巧,并对比了新旧特性的差异。

2026-01-25 14:25:26 939

原创 侯捷C++系列笔记: 面向对象(二)

C++标准库基于泛型编程思想,采用容器、迭代器、算法和仿函数四大组件解耦设计。容器存储数据,迭代器提供统一遍历接口,算法通过迭代器操作容器,仿函数定制算法行为。可变参数模板(C++11)支持任意数量参数,通过递归或折叠表达式处理参数包,结合std::forward实现完美转发。auto关键字简化类型声明,支持范围for循环和lambda表达式类型推导。范围for循环(C++11)通过begin()/end()实现容器遍历,支持只读(const auto&)和修改(auto&)两种方式

2026-01-24 17:59:19 902

原创 侯捷C++系列笔记:面向对象(一)

本文介绍了C++模板编程的三种主要形式:类模板、函数模板和成员模板。类模板用于定义通用类结构,通过类型参数生成具体类;函数模板实现通用算法,支持参数类型推导;成员模板则允许在类中定义嵌套模板,主要用于类型转换场景。文章通过代码示例展示了模板的基本用法、参数默认值、重载规则以及类型兼容转换等关键特性,并强调了模板的编译机制和使用注意事项。这些模板技术有效避免了代码重复,提高了程序的通用性和复用性。

2026-01-23 12:52:59 1023

原创 侯捷C++系列笔记:标准库体系结构(三)

STL适配器是复用已有组件适配新接口的核心设计模式,主要分为三类:迭代器适配器(如reverse_iterator)、函数适配器(如bind2nd)和容器适配器(如stack)。它们通过组合而非继承实现接口转换,具有无性能损耗的特点。其中bind2nd将二元仿函数转为一元仿函数,not1对一元谓词结果取反,而现代C++的std::bind提供了更灵活的绑定方式。流迭代器(ostream_iterator/istream_iterator)将IO操作包装为迭代器接口,适配STL算法。

2026-01-22 12:13:39 1005

原创 侯捷C++系列笔记:标准库体系结构(二)

本文系统解析了STL核心容器的底层实现原理。list采用双向循环链表结构,通过哨兵节点简化边界处理;vector基于连续内存布局,随机访问高效但扩容成本高;deque实现分段连续内存,兼顾双端操作和随机访问;RB树作为set/map的底层,通过模板参数实现高度解耦;哈希表采用拉链法解决冲突,是unordered容器的实现基础。文章详细剖析了各容器的迭代器设计、内存管理策略和关键操作实现,揭示了STL通过traits机制统一处理类迭代器和原生指针的精妙设计,以及容器适配器的封装思想。

2026-01-21 11:38:44 945

原创 侯捷C++系列笔记:标准库体系结构(一)

本文系统介绍了C++标准模板库(STL)的核心概念和体系结构。主要内容包括:1. STL六大组件(容器、分配器、算法、迭代器、适配器、仿函式)的协作关系;2. 容器分类(序列式、关联式、无序)及性能测试方法;3. 分配器原理及内存管理机制;4. OOP与GP编程范式对比;5. STL依赖的6大C++技术基础(操作符重载、模板等);6. STL源码分布及学习方法。文章强调STL通过泛型编程实现组件解耦,容器与算法通过迭代器连接,并详细解析了前闭后开区间、分配器调用链等核心机制,为深入理解STL提供了系统框架。

2026-01-20 11:15:21 1027

原创 基于boost库C++网络编程(五):基于asio的多线程池和协程调度

本文系统分析了Boost.Asio网络库的四种核心并发模型:1)IOServicePool采用多io_context+多线程架构,实现IO事件隔离处理;2)IOThreadPool通过单io_context+多线程+Strand解决线程安全问题;3)协程调度利用C++20协程消除回调地狱,实现同步式异步编程;4)HTTP服务器实现展示应用层协议解析方法。四种方案针对不同并发场景,从底层IO处理到上层协议实现,构建了完整的网络编程体系,在性能优化和代码可维护性之间取得平衡,为高并发网络服务开发提供了灵活选择。

2026-01-19 10:10:02 896

原创 基于boost库C++网络编程(四):IO 层与业务逻辑层解耦

本文摘要: 服务器设计采用异步IO与业务逻辑分离架构,核心优化包括:1)消息头升级为结构化格式(ID+长度+内容),配合JSON序列化实现业务解耦;2)通过LogicSystem单例实现生产者-消费者模型,分离IO线程与业务线程;3)基于消息ID注册回调机制,支持插件化扩展业务逻辑;4)采用mutex+条件变量保证线程安全,支持消息有序处理;5)实现优雅退出机制,包括信号捕获、资源清理和线程安全终止。该设计遵循职责单一原则,具有高并发、易扩展和安全可靠的特点。

2026-01-18 12:15:30 832

原创 基于boost库C++网络编程(三):发送队列和粘包问题

本文总结了网络通信中发送队列封装与粘包处理的核心技术。发送队列采用全双工通信模式,通过enable_shared_from_this解决异步回调中的对象生命周期问题,使用互斥锁确保线程安全。针对TCP粘包问题,介绍了两种解决方案:手动解析方案通过长度前缀和循环处理实现数据边界划分;简化方案利用async_read分阶段读取头部和数据体。此外,文章还强调了字节序转换、发送队列限流等关键优化点,确保跨机器通信的正确性和实时性。这些技术组合使用可构建高效可靠的网络通信框架。

2026-01-17 08:17:13 961

原创 基于boost库C++网络编程(二):asio异步读写

本文摘要:Boost.Asio异步IO的核心机制是通过发起操作后立即返回,操作完成后触发回调函数实现非阻塞通信。文章详细解析了异步读写的关键问题:分段传输处理、数据乱序问题及解决方案(发送队列+pending状态),并对比了基础接口(async_write_some/async_read_some)与封装接口(async_send/async_receive)的使用差异。同时介绍了Session类和MsNode数据结构在连接管理和数据分块传输中的应用,以及智能指针在生命周期管理中的重要作用。

2026-01-16 17:45:19 1149

原创 基于boost库C++网络编程(一):socket以及同步读写通讯

本文介绍了基于Boost.Asio库的TCP网络编程核心概念与实现方法。主要内容包括:1)socket连接与端点创建,说明客户端和服务端如何建立TCP连接;2)同步读写操作,详细讲解write_some/read_some和asio::write/asio::read等不同读写方式;3)缓冲区处理,介绍asio::buffer和asio::streambuf的使用;4)完整的客户端和服务端设计实现,其中服务端采用多线程处理多个客户端连接

2026-01-15 10:26:21 961

原创 C++多线程(四):无锁并发

有时候我们线程1对A的store操作采用release内存序,而线程2对B的load采用acquire内存序,并不能保证A 一定比 B先执行。分区(partitioning):重新排列数组,把比基准元素小的元素放在它的左边,把比基准元素大的元素放在它的右边。选择基准元素的方式有很多种,常见的是选择数组的第一个元素或最后一个元素。我们提供并行方式的函数式编程,可以极大的利用cpu多核的优势,这在并行计算中很常见。顺序,其他的顺序都不能保证原子变量修改的值在其他多线程中看到的顺序是一致的。

2026-01-13 15:20:44 886

原创 C++多线程(三):并发三剑客(future, promise, async)

C++11 引入的<future>头文件组件是异步编程的核心,std::async可通过指定启动策略异步执行函数并返回std::future,后者作为 “结果容器”,通过get()(单次阻塞获取)、wait()(仅等待)等方法获取异步任务结果,std::shared_future则支持多线程共享同一结果。std::promise与std::packaged_task可将任务与future绑定,分别用于设置值 / 异常、包装可调用任务。异步任务异常可通过future::get()重抛并捕获,基于这些组件还能构

2026-01-12 13:12:16 909

原创 C++多线程(二):并发竞争控制--锁与条件变量

本文系统介绍了C++多线程编程中的核心同步机制。主要内容包括:1)基础互斥量mutex及其RAII封装lock_guard和unique_lock的使用;2)线程安全栈的实现及竞态条件处理;3)死锁成因分析及解决方案(解耦合、同时加锁、层级锁);4)高级同步机制如共享锁、递归锁的应用场景;5)线程安全单例模式的多种实现方法;6)条件变量的正确使用方式及线程安全队列的实现。文章通过大量代码示例详细说明了各种同步机制的最佳实践,特别强调了避免死锁和伪唤醒的关键技巧,为开发高效安全的并发程序提供了实用指导。

2026-01-11 16:23:00 1419

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除