>>68
使い方が正しくない
containsKeyとputの間に他のスレッドが割り込む可能性がある
その操作はアトミックにやらないとだめ

if (tmpMap.putIfAbsent(data, uniqueKey) == null) {
somethingDoTask();
}
こんな感じで