哑巴节点

来源:4-12 AQS之面试官:讲讲CLH队列的原理

上游猴子

2021-09-25

老师, 所谓哑巴节点,就是指头部指针指向出队的节点,此时会把该节点设置为 null 节点?

单向链表出队基于快慢指针的话,也是可以实现的,只是性能没有 clh 高? 而双向链表可以在新增节点时,头指针和尾指针的节点指向放到同步块中操作, 其实也能解决吧?只是性能没有 clh 那么优秀?

写回答

1回答

求老仙

2021-10-14

你说的没错,其实clh就是这样实现的。它支持lock-free部分是一个单向链表,不过为了提速,又增加了一个双向指针。 具体实现中,clh的无锁编程实现只覆盖单向链表部分。双向链表部分只保持最终一致性。 具体可以再研究下。 

0
0

笑傲Java面试 剖析大厂高频面试真题 秒变offer收割机

深度剖析大厂面试高频真题,让你秒变offer收割机

1783 学习 · 314 问题

查看课程