Comments 5
Очень познавательно! Спасибо!
Поясните, об чём статья? Атомик свап штука полезная, но это всего лишь кирпичик, при помощи которого можно построить тот или иной примитив синхронизации. Например, мутекс, как и показано в статье. Но зачем их сравнивать? Чтобы что? Это как сравнить двигатель и конкретный автомобиль с этим двигателем. Вывод шикарен: ну да, автомбиль целиком сложнее, дороже и тяжелее, чем один только двигатель. И...?
Абсолютно согласен, что атомики являются кирпичиками для других примитивов. Статья про внутреннее устройство атомика и совсем немного затронут мьютекс. Тем не менее некоторые статьи делают замеры производительности и сравнивают их, поэтому показалось важным сделать акцент на том, что сравнивать их так не всегда имеет смысл (как вы заметили - одно является частью другого). от такого акцента, пожалуй, вывод не выиграл.
Евгений спасибо, полезная статья! Было бы неплохо также детальнее разобрать мьютексы и библиотеку race (то как она работает под капатом). Думаю получился бы неплохой цикл статей по примитивам синхронизации.
А почему сначала выполняется call runtime_printunlock, интуитивно кажется что сначала должен выполнится lock
Атомики в Go: особенности внутренней реализации