17. Push( T elem )
m_tail.CompareExchange( last, newTail ) ろ蠍
蠏碁手骸 螳給.
Next 襦 碁襯 郁屋讌襷 Tail 螳煙讌 .
れ譴 ろ るジ る襦 螳り 螳企.
17
Head Tail
Dummy Next
New
Data
Next
18. Push( T elem )
るジ る 襦 一危磯ゼ 曙螻 . Queue 曙
螳 覲伎ル . 襾殊 曙 一危 覲企 曙 給.
Queue Tail 螳襴る 碁 Next螳 nullptr 蠍 覓語 tail
豺 螳 曙 給.
18
Head Tail
Dummy Next
New
Data
Next
19. Push( T elem )
蠍一 2螳讌 給.
1. る螳 Tail 企 蟾讌 蠍磯るΠ.
2. 讌 Tail 蠍企.
19
Head Tail
Dummy Next
New
Data
Next
20. Push( T elem )
る螳 Tail 蠍郁鍵襯 蠍磯るΠる 伎 るジ 覈 る
る 蠍磯るΜ 觚襦 螳 .
危 覦 覈 Push一一 る螳 れ ろ 蠍 蟾讌 覈
ろ蟆 . 企 Convoying企手 .
20
Head Tail
Dummy Next
New
Data
Next
21. Push( T elem )
企 觚襦 螻襴讀 伎 伎 Lock-free手 給.
Lock-free るジ る 蟯 ろ . 蠏碁
ル朱 Tail 蟾. 覲碁 る 襦貉 レ last螳 Tail
螻 殊蠍 覓語 CAS螳 ろ蟆 覩襦 覓語 .
21
Head Tail
Dummy Next
New
Data
Next