要让 CAS 不被 ABA 骗过,常用办法是【0】。
ABA 模型:aba_happened(起, 中, 末)——变过又回到起点;cas_value(当前, 期望) 只比值(识别不出 ABA);cas_tagged(当前, 版本, 期望, 期望版本) 值和版本都对才成;fooled=只比值会不会被 ABA 骗。
aba_happened(起, 中, 末)
cas_value(当前, 期望)
cas_tagged(当前, 版本, 期望, 期望版本)
fooled
全部评论