java并发分段锁实践代码
以下是代码:
packagecn.study.concurrency.ch11;
/**
*锁分段
*@authorxiaof
*
*/
publicclassStripedMap{
//同步策略:就是对数组进行分段上锁,n个节点用n%LOCKS锁保护
privatestaticfinalintN_LOCKS=16;
privatefinalNode[]buckets;
privatefinalObject[]locks;
privatestaticclassNode
{
privateStringname;
privateNodenext;
privateStringkey;
privateStringvalue;
publicStringgetValue(){
returnvalue;
}
publicvoidsetValue(Stringvalue){
this.value=value;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicNodegetNext(){
returnnext;
}
publicvoidsetNext(Nodenext){
this.next=next;
}
publicStringgetKey(){
returnkey;
}
publicvoidsetKey(Stringkey){
this.key=key;
}
}
publicStripedMap(intnumBuckets)
{
buckets=newNode[numBuckets];
//创建对应hash的锁
locks=newObject[N_LOCKS];
for(inti=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。