最近工作上遇到一个需求:需要根据nginx日志去统计每个域名的qps(Query Per Second,每秒查询率)数据. 解决了日志读取等问题之后,为了写一个尽可能高效的统计模块,我决定用多线程去计数,然后将统计结果保存在Map中.用多线程去计数的需求还是比较常见的. HashMap 线程不安全,操作时只能加synchronized,结果还是单线程的计数,效率太低.ConcurrentHashMap是线程安全的,就用它了. 先看第一版代码: // 先定义一个全局的Map private Map…