<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>InfoQ - Programming Languages - Articles</title>
    <link>https://www.infoq.com</link>
    <description>InfoQ Programming Languages Articles feed</description>
    <item>
      <title>Article: Go Channels: Understanding Happens-Before for Safe Concurrency</title>
      <link>https://www.infoq.com/articles/go-channels-happens-before-concurrency/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=Programming+Languages-articles</link>
      <description>&lt;img src="https://res.infoq.com/articles/go-channels-happens-before-concurrency/en/headerimage/Go-Channels-Understanding-Happens-Before-for-Safe-Concurrency-header-1759993668874.jpg"/&gt;&lt;p&gt;This article dives into the happens-before semantics of Go channels, explaining how they relate to memory visibility, synchronization, and concurrency correctness. We'll examine subtle pitfalls, illustrate them with examples, and explore the architectural implications for system designers.&lt;/p&gt; &lt;i&gt;By Gabor Koos&lt;/i&gt;</description>
      <category>Concurrency</category>
      <category>Go Language</category>
      <category>Programming Languages</category>
      <category>Development</category>
      <category>article</category>
      <pubDate>Mon, 13 Oct 2025 11:05:00 GMT</pubDate>
      <guid>https://www.infoq.com/articles/go-channels-happens-before-concurrency/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=Programming+Languages-articles</guid>
      <dc:creator>Gabor Koos</dc:creator>
      <dc:date>2025-10-13T11:05:00Z</dc:date>
      <dc:identifier>/articles/go-channels-happens-before-concurrency/en</dc:identifier>
    </item>
  </channel>
</rss>
