ABA ๋ฌธ์
B
Head
A
C
Head
A
(1) pop์ค์ธ ์ฐ๋ ๋ :
์ฃผ์ A์ B ํ์ธ,
head.CAS( A ๏ B )
ํจ์ ํธ์ถ
(2) ๋ค๋ฅธ ์ฐ๋ ๋ :
A, B pop,
์ดํ A push
(์๊ฐ)
C
Head
A
(3) pop ์ค์ธ ์ฐ๋ ๋ :
head.CAS( A ๏ B )
ํจ์ ์คํ
์ฃผ์ A๋ฅผ delete ํ ์ดํ,
new๋ก A๋ฅผ ๋ค์ ํ ๋น ๊ฐ๋ฅ
B??