JDK17 的LinkedTranferQueue 问题

在研究源码时发现如果只有消费者去取数据,没有生产者生产数据时,消费者线程肯定需要阻塞入队列,但经过Xfer里的入队列逻辑时此处不解。if(!p.casnext(null,s) ) continue这段代码执行完成后p节点的next指针一直指向自己 无限指向,难道不内存泄露么。没执行此代码都是正常的。我打了断点,目前是第一个消费者线程取数据,其他线程都被断点阻塞在main方法中 另外如果只有生产者线程put数据没有消费者线程取数据,第一个生产者线程也会出现此种情况。

img