看到AQS源码时候,入队采用CAS入队,但CAS操作是在tail节点的设置,那么入队设置指向是如何保证线程安全的呢? private Node enq(final Node node) { for (;;) {// set tail and add element to FIFO queue.Hot to ensure concurrent safety Node t = tail; if (t == null) { // Must initialize if (compareAndSetHead(new Node()))// tail = head; } else { node.prev = t; if (compareAndSetTail(t, node)) { t.next = node; return t; } } } }
展开
5
三丶斤的头像
关注了标签 产品 产品
三丶斤的头像
关注了标签 Linux Linux
三丶斤的头像
关注了标签 开源 开源
三丶斤的头像
关注了标签 数据库 数据库
三丶斤的头像
关注了标签 算法 算法
个人成就
文章被点赞5
文章被阅读246
掘力值7
收藏集
4
关注标签
17
加入于