1 回答
已采納

翔仔
TA貢獻35條經驗 獲得超44個贊
分段鎖就是將數據分段上鎖,把鎖進一步細粒度化,有助于提升并發效率。
具體應用如下:HashTable容器在競爭激烈的并發環境下表現出效率低下的原因是所有訪問HashTable的線程都必須競爭同一把鎖,假如容器里有多把鎖,每一把鎖用于鎖容器其中一部分數據,那么當多線程訪問容器里不同數據段的數據時,線程間就不會存在鎖競爭,從而可以有效提高并發訪問效率,這就是ConcurrentHashMap所使用的鎖分段技術。首先將數據分成一段一段地存儲,然后給每一段數據配一把鎖,當一個線程占用鎖訪問其中一個段數據的時候,其他段的數據也能被其他線程訪問。
有興趣可以看看ConcurrentHashMap的源碼,里面的segment繼承自ReentrantLock,可以看看ReentrantLock這個的實現
添加回答
舉報
0/150
提交
取消