Когда atomic действительно быстрее Mutex
<img src="https://habrastorage.org/getpro/habr/upload_files/a99/c63/205/a99c6320523313e948df15e375b9f528.png" /><p>Привет, Хабр! Эта статья посвящается важной теме работы в многопоточной среде. Для безопасной работы с одним ресурсом из разных горутин разработчик должен быть уверен в безопасности и обособленности действий, чтобы не создать ситуации, в которых "гонки данных" (data race) ломали бы важную логику и создавали коллизии данных.</p><p>В случаях, когда нужно обращаться к одному источнику из разных горутин в <code>Go</code> обычно используют <code>sync/atomic</code> или <code>Mutex</code>. <strong>Основная задача текущей статьи рассказать об их отличиях и о тех случаях, когда лучше применять <code>atomic</code>, чем <code>sync.Mutex</code></strong>. Перед тем, как перейти к различиям, необходимо рассмотреть эти способы по ближе.</p> <a href="https://habr.com/ru/articles/1081648/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1081648#habracut">Читать далее</a>
