并发多核_惰性链表与无锁链表
惰性链表
惰性链表与无所链表类似,使用marked域用于标识是否仍然在链表中,可以避免很多有问题的情况。(false代表在链表中,反之则不在)。
删除过程包含逻辑删除与物理删除(与无锁链表一致),逻辑删除表示仅将marked修改为true,物理删除表示从链表完全删除。
删除的通用做法,对于pred和cur都要加锁(pred == previous)
无锁链表
使用CompareAndSet()方法,实现了add()和remove()方法。看上去很简单,但是印象不深刻….一种非常奇怪的感觉233。





