В vavr у вас есть неизменяемая коллекция io.vavr.collection.Set. Каков правильный и идиоматический способ использовать это, учитывая, что addName()
и names()
могут вызываться из разных потоков?
import io.vavr.collection.Set;
import io.vavr.collection.HashSet;
public class Names{
public/*private*/ /**volatile*/ Set<String> names = HashSet.empty();
public void addName(String name){
names = names.add(name);
}
public Set<String> names(){
return names;
}
}
Стоит ли использовать летучие? Должен ли я использовать вместо этого AtomicRef<Set<String>>
?
ConcurrentHashMap.newKeySet()
? - person Krzysztof Atłasik   schedule 22.05.2019