ConcurrentHashMap(jdk1.7)put操作確定segment后,加鎖失敗時(shí),自旋外還在遍歷鏈表,什么目的,感覺(jué)毫無(wú)意義啊privateHashEntryscanAndLockForPut(Kkey,inthash,Vvalue){HashEntryfirst=entryForHash(this,hash);HashEntrye=first;HashEntrynode=null;intretries=-1;//negativewhilelocatingnodewhile(!tryLock()){HashEntryf;//torecheckfirstbelowif(retriesMAX_SCAN_RETRIES){lock();break;}elseif((retries&1)==0&&(f=entryForHash(this,hash))!=first){e=first=f;//re-traverseifentrychangedretries=-1;}}returnnode;}改成這樣有啥問(wèn)題呢:privateHashEntryscanAndLockForPut(Kkey,inthash,Vvalue){HashEntrynode=newHashEntry(hash,key,value,null);intretries=-1;//negativewhilelocatingnodewhile(!tryLock()){if(++retries>MAX_SCAN_RETRIES){lock();break;}}returnnode;}
急求!?。?!oncurrentHashMap(jdk1.7)put操作確定segment后,加鎖失敗時(shí),遍歷鏈表的目的
慕桂英3389331
2019-09-25 15:27:43