Есть ли у x86 атомарный инкремент, который сохраняет значение, которое было сохранено?

StackOverflow https://stackoverflow.com/questions/668830

  •  21-08-2019
  •  | 
  •  

Вопрос

Я нашел lock inc addr но это не приводит к сохранению копии сохраненного значения, и даже чтение сразу после него в том же потоке может произойти после конкурирующей записи.

Лучшее решение, которое я нашел, - это load/inc/cas петля.

Это было полезно?

Решение

lock xadd это твой друг.

Другие советы

видишь atomic_impl.h для получения дополнительной информации об атомарных примитивах x86 / x86_64 и их использовании.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top