程序员的暴击 2021-09-26 17:51
浏览 15
已结题

JDK17 的LinkedTranferQueue 问题

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

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月4日
    • 创建了问题 9月26日

    悬赏问题

    • ¥20 access多表提取相同字段数据并合并
    • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
    • ¥20 Java-Oj-桌布的计算
    • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
    • ¥20 有人知道这种图怎么画吗?
    • ¥15 pyqt6如何引用qrc文件加载里面的的资源
    • ¥15 安卓JNI项目使用lua上的问题
    • ¥20 RL+GNN解决人员排班问题时梯度消失
    • ¥60 要数控稳压电源测试数据
    • ¥15 能帮我写下这个编程吗