龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Java锁之自旋锁详解(3)

时间:2014-09-20 12:07来源:网络整理 作者:网络 点击:
分享到:
} else { while (currentNode.next == null) { } } } else { currentNode.next.isLocked = false; currentNode.next = null; } } } 从代码上 看,CLH 要比 MCS 更简单, CLH 的队列是隐式的队列,

            } else {
                while (currentNode.next == null) {
                }
            }
        } else {
            currentNode.next.isLocked = false;
            currentNode.next = null;
        }
    }
}

从代码上 看,CLH 要比 MCS 更简单,

CLH 的队列是隐式的队列,没有真实的后继结点属性。

MCS 的队列是显式的队列,有真实的后继结点属性。

JUC ReentrantLock 默认内部使用的锁 即是 CLH锁(有很多改进的地方,将自旋锁换成了阻塞锁等等)。

(全文完)

精彩图集

赞助商链接