欢迎来到天天文库
浏览记录
ID:33750810
大小:154.13 KB
页数:39页
时间:2019-02-28
《guava-concurrent-slides.pdf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、com.google.common.util.concurrentTheGuavaTeamcom.google.common.collectcom.google.common.util.concurrentjava.util.concurrentEffectiveJava(concurrencyisinchapter10)JavaConcurrencyinPracticethelinkeddocsandbooksalsohaveadviceaboutJavaconcurrency(generalprinciples,java.util.concurrent)note:s
2、omeslidesrefertomethodsthathavenotyetbeenreleased(listeningDecorator,Futures.allAsList/successfulAsList).WeexpecttoreleasetheseinGuava10inJulycollectImmutable*ConcurrentHashMultisetMultimaps.synchronizedMultimapMapMakerbeforegettingtoutil.concurrent,touchonourotherpackageswekeepconcurren
3、cyinmindinourotherpackagescollect:Immutable*wheneverpossible,forvariousreasonsusethem.linkeddochasadvantagesaswellassometradeoffsoneofmanyreasontousethem:threadsafetyimmutableinthethread-safesensemanyotherclasseswithout"Immutable"inthenameareimmutable(unlikeJDKSimpleDateFormat):CharMatch
4、er,Splittercollect:ConcurrentHashMultisetMultiset≈Mapwithextramethodsandoptionalthread-safetyMapmap=newHashMap();for(StatsProtoproto:protos){Stringhost=proto.getHost();if(!map.containsKey(host)){map.put(host,1);}else{map.put(host,map.get(host)+1);}}codecount
5、snumberoftimeseachhostappearsinaprotomapfromelementtypetonumberofoccurrencescollect:ConcurrentHashMultisetMultiset≈Mapwithextramethodsandoptionalthread-safetyMultisetmultiset=HashMultiset.create();for(StatsProtoproto:protos){multiset.add(proto.getHost());}NumericMap
6、(someday)preferimmutablee.g.,countnumberofqueriestoeachshardNumericMaptosupportlong,doublefor,e.g.,totalnanosecondsspentinanoperationsometimesneedmodifiability,e.g.,stats(probablyfromdifferentthreads,thereforeconcurrency)collect:Multimaps.synchronizedMultimapMultimap≈Map7、n>withextramethodsandoptionalthread-safetyMap>map=newHashMap();for(StatsProtoproto:protos){Stringhost=proto.getHost();if(!map.containsKey(host)){map.put(host,newArrayList());}map.get(host).add(proto);}codeindexesprotosbyhostcollect:M
7、n>withextramethodsandoptionalthread-safetyMap>map=newHashMap();for(StatsProtoproto:protos){Stringhost=proto.getHost();if(!map.containsKey(host)){map.put(host,newArrayList());}map.get(host).add(proto);}codeindexesprotosbyhostcollect:M
此文档下载收益归作者所有
点击更多查看相关文章~~