Depository of News

Когда atomic действительно быстрее Mutex

newsdepo.com · world

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

Read full article →