链表插入的骚操作

本文探讨了Java并发库中LinkedBlockingQueue的内部实现,特别是其高效地在队尾插入节点的技巧。通过分析源码,我们可以看到如何利用原子操作避免锁竞争,提升并发性能。这个技巧对于理解和优化并发数据结构非常有帮助。
摘要由CSDN通过智能技术生成

今天看LinkedBlockingQueue源码,发现一个骚操作:

    private void enqueue(Node<E> node) {
      // assert putLock.isHeldByCurrentThread();
      // assert last.next == null;
      last = last.next = node;
  }

可以学习一下,步骤是:
① last.next = node 将node结点插入到队尾
② last = node last 队尾设置为node结点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值