You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
ABA问题的现象:对于共享变量V,当前线程看到它的值为A的那一刻,其他线程将其值更新为B,接着当前线程执行CAS时该变量的值又被其他线程更新为A。
|
|
|
|
|
共享变量经历了A->B->A 的更新。某些情况下对于这个问题是可以接受的,与实际要求有关。
|
|
|
|
|
|
|
|
|
|
规避ABA问题,可以增加时间戳或者版本号,例[A,0]->[B,1]->[A,1],可以判断出是否被其他线程修改过。
|