一、踩坑经历
自定义的accumulator是线程不安全的,会造成累加结果不正确。自定找了很久没想到是线程不安全行成的。
二、解决方法
创建一个线程安全的集合变量(我用的是Java的ConcurrentHashMap),赋好初始值 ,在重写add方法时,将旧的值取出来累加后再放回去(取与放的动作要加上上锁操作)。这样就可以,测试的时候再也没出现累加少值的情况。