<?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>Concurrency on 极客老墨</title>
    <link>https://blog.hankmo.com/tags/concurrency/</link>
    <description>Recent content in Concurrency on 极客老墨</description>
    <generator>Hugo -- 0.138.0</generator>
    <language>zh-cn</language>
    <lastBuildDate>Tue, 03 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.hankmo.com/tags/concurrency/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Go这样检测Data Race让并发程序又简单了许多</title>
      <link>https://blog.hankmo.com/posts/golang/go-data-race-detector/</link>
      <pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-data-race-detector/</guid>
      <description>写并发代码最怕的不是死锁，而是那些偶尔才出现、难以复现的诡异 bug。这些 bug 的罪魁祸首往往就是 Data Race。好在 Go 提供了 Race Detector，只需加个 -race 参数，就能在开发阶段揪出这些幽灵般的并发问题。本文带你掌握 Race Detector 的使用技巧，以及 5 种最常见的 Data Race 场景和解决方案。</description>
    </item>
    <item>
      <title>Go高级教程：其他并发工具</title>
      <link>https://blog.hankmo.com/go-advanced-concurrency/</link>
      <pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/go-advanced-concurrency/</guid>
      <description>超越基础的 Goroutine &#43; Channel，掌握 sync.Pool、sync.Map、Atomic 原子操作以及如何检测数据竞争（Data Race）。</description>
    </item>
    <item>
      <title>GoLang教程——Context上下文实战</title>
      <link>https://blog.hankmo.com/posts/golang/go-context-in-depth/</link>
      <pubDate>Sun, 02 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-context-in-depth/</guid>
      <description>详解 Go 标准库 Context 的核心作用，演示如何使用它来处理请求超时、取消并发任务以及传递上下文信息。</description>
    </item>
    <item>
      <title>GoLang教程——并发进阶</title>
      <link>https://blog.hankmo.com/posts/golang/go-concurrency-advanced/</link>
      <pubDate>Thu, 05 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-concurrency-advanced/</guid>
      <description>深入 Go 并发编程，掌握 sync 包中的各种同步工具：WaitGroup、Mutex、RWMutex、Once、Cond，以及信号量和 errgroup 的使用。</description>
    </item>
    <item>
      <title>[GoLang避坑实战-12] 并发初体验：Goroutine 和 Channel 真的那么神吗？</title>
      <link>https://blog.hankmo.com/posts/golang/go-concurrency-basics/</link>
      <pubDate>Tue, 19 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/golang/go-concurrency-basics/</guid>
      <description>介绍 Go 语言的核心并发特性：Goroutine（协程）和 Channel（通道），以及 sync 包的基本用法。</description>
    </item>
    <item>
      <title>Data Race vs Race Condition</title>
      <link>https://blog.hankmo.com/posts/tech/data-race-vs-race-condition/</link>
      <pubDate>Tue, 18 Jun 2024 00:00:10 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/data-race-vs-race-condition/</guid>
      <description>这篇文章中的所有内容都非常明确，但我发现那些比较了解的人对 Data Race 和 Race Condition 之间的区别感到非常困惑（例如，因为他们正在研究并发正确性）。甚至当人们完全清楚基本概念时，也非常容易混淆它们，他们有时会说“Race Condition”，而实际上真正的意思是“Data Race”，这让事情变得更加混乱。当然，我发现自己也在这样做。</description>
    </item>
  </channel>
</rss>
