<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>源码分析 on Hical</title><link>https://hicalio.cn/tags/%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/</link><description>Recent content in 源码分析 on Hical</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 10 Aug 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://hicalio.cn/tags/%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/index.xml" rel="self" type="application/rss+xml"/><item><title>拆开 Hical：Router 是怎么做到 O(1) 路由匹配的？</title><link>https://hicalio.cn/posts/hical-source-study/02-router%E8%B7%AF%E7%94%B1%E5%8C%B9%E9%85%8D/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0800</pubDate><guid>https://hicalio.cn/posts/hical-source-study/02-router%E8%B7%AF%E7%94%B1%E5%8C%B9%E9%85%8D/</guid><description>拆开 Hical 第 2 篇：Router 怎么做 O(1) 路由匹配？dispatchSync 快速路径为什么能做到 ~40ns。</description></item><item><title>拆开 Hical：Vyukov MPSC 无锁队列在 HTTP 服务器上的实战——GenericConnection 写路径</title><link>https://hicalio.cn/posts/hical-source-study/04-genericconnection%E6%97%A0%E9%94%81%E9%98%9F%E5%88%97/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0800</pubDate><guid>https://hicalio.cn/posts/hical-source-study/04-genericconnection%E6%97%A0%E9%94%81%E9%98%9F%E5%88%97/</guid><description>拆开 Hical 第 4 篇：Vyukov MPSC 无锁队列在 HTTP 服务器写路径上的实战，以及为什么不用 Disruptor。</description></item><item><title>拆开 Hical：一个 HTTP 请求从 socket 字节到路由分发的完整旅程</title><link>https://hicalio.cn/posts/hical-source-study/01-http%E8%AF%B7%E6%B1%82%E7%83%AD%E8%B7%AF%E5%BE%84/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0800</pubDate><guid>https://hicalio.cn/posts/hical-source-study/01-http%E8%AF%B7%E6%B1%82%E7%83%AD%E8%B7%AF%E5%BE%84/</guid><description>拆开 Hical 第 1 篇：从 socket 字节到路由分发，追踪一个 HTTP 请求的完整旅程——ReadBufferPool 请求级 borrow、picohttpparser 零拷贝解析、响应前缀模板等。</description></item><item><title>拆开 Hical：一套 API 两套实现——C++26 反射双轨是怎么设计的</title><link>https://hicalio.cn/posts/hical-source-study/07-%E5%8F%8D%E5%B0%84%E5%8F%8C%E8%BD%A8/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0800</pubDate><guid>https://hicalio.cn/posts/hical-source-study/07-%E5%8F%8D%E5%B0%84%E5%8F%8C%E8%BD%A8/</guid><description>拆开 Hical 第 7 篇（完结）：一套 API 两套实现——C++26 反射双轨架构是怎么设计的。</description></item><item><title>拆开 Hical：中间件洋葱模型怎么做到连续 N 个同步中间件只分配一次协程帧？</title><link>https://hicalio.cn/posts/hical-source-study/03-middleware%E6%B4%8B%E8%91%B1%E6%A8%A1%E5%9E%8B/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0800</pubDate><guid>https://hicalio.cn/posts/hical-source-study/03-middleware%E6%B4%8B%E8%91%B1%E6%A8%A1%E5%9E%8B/</guid><description>拆开 Hical 第 3 篇：中间件洋葱模型如何实现连续 N 个同步中间件只分配一次协程帧。</description></item><item><title>拆开 Hical：为什么不用每个连接一个 timer 协程？IdleScanner 集中式空闲扫描设计</title><link>https://hicalio.cn/posts/hical-source-study/05-idlescanner/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0800</pubDate><guid>https://hicalio.cn/posts/hical-source-study/05-idlescanner/</guid><description>拆开 Hical 第 5 篇：为什么不用每个连接一个 timer 协程？IdleScanner 集中式空闲扫描设计。</description></item><item><title>拆开 Hical：你的协程内存去哪里了？三层 PMR 内存池设计</title><link>https://hicalio.cn/posts/hical-source-study/06-pmr%E5%86%85%E5%AD%98%E6%B1%A0/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0800</pubDate><guid>https://hicalio.cn/posts/hical-source-study/06-pmr%E5%86%85%E5%AD%98%E6%B1%A0/</guid><description>拆开 Hical 第 6 篇：协程内存去哪了？三层 PMR 内存池设计详解。</description></item><item><title>IO 与无锁序列：cppcoro 的网络文件 I/O，以及 LMAX Disruptor 的协程化</title><link>https://hicalio.cn/posts/cppcoro/cppcoro-%E6%96%87%E4%BB%B6io%E4%B8%8E%E7%BD%91%E7%BB%9C+%E6%97%A0%E9%94%81%E5%BA%8F%E5%88%97/</link><pubDate>Sat, 30 Nov 2024 00:00:00 +0000</pubDate><guid>https://hicalio.cn/posts/cppcoro/cppcoro-%E6%96%87%E4%BB%B6io%E4%B8%8E%E7%BD%91%E7%BB%9C+%E6%97%A0%E9%94%81%E5%BA%8F%E5%88%97/</guid><description>拆开 cppcoro 给你看 · 第 6 篇（完结篇）。Windows IOCP 协程化封装 + LMAX Disruptor 无锁序列的协程化改造，cppcoro 源码精读系列收官。</description></item><item><title>协程调度器到底在调度什么？从 inline_scheduler 到工作窃取线程池</title><link>https://hicalio.cn/posts/cppcoro/cppcoro-%E8%B0%83%E5%BA%A6%E5%99%A8%E4%B8%8Eio/</link><pubDate>Mon, 25 Nov 2024 00:00:00 +0000</pubDate><guid>https://hicalio.cn/posts/cppcoro/cppcoro-%E8%B0%83%E5%BA%A6%E5%99%A8%E4%B8%8Eio/</guid><description>拆开 cppcoro 给你看 · 第 5 篇。三层递进：从 inline_scheduler 到 static_thread_pool，最后看 IOCP 如何协程化。</description></item><item><title>从 generator 到 async_generator：协程生成器的三层进化</title><link>https://hicalio.cn/posts/cppcoro/cppcoro-%E7%94%9F%E6%88%90%E5%99%A8/</link><pubDate>Fri, 22 Nov 2024 00:00:00 +0000</pubDate><guid>https://hicalio.cn/posts/cppcoro/cppcoro-%E7%94%9F%E6%88%90%E5%99%A8/</guid><description>拆开 cppcoro 给你看 · 第 4 篇。从 generator 到 recursive_generator 再到 async_generator 的三层进化，看每种生成器解决什么瓶颈。</description></item><item><title>协程世界的并发编排：从需求反推 when_all 的实现</title><link>https://hicalio.cn/posts/cppcoro/cppcoro-%E7%BB%84%E5%90%88%E5%99%A8%E4%B8%8E%E5%B9%B6%E5%8F%91/</link><pubDate>Mon, 18 Nov 2024 00:00:00 +0000</pubDate><guid>https://hicalio.cn/posts/cppcoro/cppcoro-%E7%BB%84%E5%90%88%E5%99%A8%E4%B8%8E%E5%B9%B6%E5%8F%91/</guid><description>拆开 cppcoro 给你看 · 第 3 篇。从需求出发反推 when_all 实现：顺序等待太慢 → 手动管理太繁琐 → 注册竞态太难搞，逐个填坑。</description></item><item><title>用一个生产者-消费者场景，把 cppcoro 的 7 个协程同步原语全部串起来</title><link>https://hicalio.cn/posts/cppcoro/cppcoro-%E5%8D%8F%E7%A8%8B%E5%90%8C%E6%AD%A5%E5%8E%9F%E8%AF%AD/</link><pubDate>Fri, 15 Nov 2024 00:00:00 +0000</pubDate><guid>https://hicalio.cn/posts/cppcoro/cppcoro-%E5%8D%8F%E7%A8%8B%E5%90%8C%E6%AD%A5%E5%8E%9F%E8%AF%AD/</guid><description>拆开 cppcoro 给你看 · 第 2 篇。用同一个生产者-消费者场景逐步升级，串起 async_mutex、async_latch 等 7 个协程同步原语。</description></item><item><title>cppcoro 的 task\&lt;T\&gt; 到底做了什么？从 25 行到 90 行，5 版迭代拆开看</title><link>https://hicalio.cn/posts/cppcoro/cppcoro-%E5%8D%8F%E7%A8%8B%E5%9F%BA%E7%A1%80%E6%9C%BA%E5%88%B6-task-lifetime/</link><pubDate>Sun, 10 Nov 2024 00:00:00 +0000</pubDate><guid>https://hicalio.cn/posts/cppcoro/cppcoro-%E5%8D%8F%E7%A8%8B%E5%9F%BA%E7%A1%80%E6%9C%BA%E5%88%B6-task-lifetime/</guid><description>拆开 cppcoro 给你看 · 第 1 篇。分 5 版迭代拆解 task&amp;lt;T&amp;gt; 核心逻辑，每版只加一个功能点，从 25 行到 90 行完整理解协程生命周期。</description></item><item><title>从 0 到 1 理解 C++ 协程：30 行代码搞定协程帧、co_await 和 promise_type</title><link>https://hicalio.cn/posts/cppcoro/cppcoro-%E5%8D%8F%E7%A8%8B%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8/</link><pubDate>Fri, 08 Nov 2024 00:00:00 +0000</pubDate><guid>https://hicalio.cn/posts/cppcoro/cppcoro-%E5%8D%8F%E7%A8%8B%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8/</guid><description>拆开 cppcoro 给你看 · 第 0 篇。30 行代码手写 Generator，彻底搞懂协程帧、co_await 展开步骤和 promise_type 的 7 个接口，零基础也能直接上手。</description></item></channel></rss>