Concorrência Java - use qual técnica para obter seguranç
Eu tenho uma lista de personId. Existem duas chamadas de API para atualizá-lo (adicionar e remover):
public void add(String newPersonName) {
if (personNameIdMap.get(newPersonName) != null) {
myPersonId.add(personNameIdMap.get(newPersonName)
} else {
// get the id from Twitter and add to the list
}
// make an API call to Twitter
}
public void delete(String personNAme) {
if (personNameIdMap.get(newPersonName) != null) {
myPersonId.remove(personNameIdMap.get(newPersonName)
} else {
// wrong person name
}
// make an API call to Twitter
}
Eu sei que pode haver um problema de simultaneidade. Eu li cerca de 3 soluções:
synchronized
o métodusarCollections.synchronizedlist()
CopyOnWriteArrayList
Não tenho certeza de qual deles prefere evitar a inconsistênci