Thread safe multitons in Java

UPDATE: with Java 8, it can be even simpler: public class Multiton { private static final ConcurrentMap<String, Multiton> multitons = new ConcurrentHashMap<>(); private final String key; private Multiton(String key) { this.key = key; } public static Multiton getInstance(final String key) { return multitons.computeIfAbsent(key, Multiton::new); } } Mmm that’s good! ORIGINAL ANSWER This is a solution … Read more