Ist es sicher, foreach, hinzufügen, entfernen, Größe Operationen in verschiedenen Threads mit dem nächsten Satz durchzuführen?Ist der Satz von ConcurrentHashMap threadsicher in foreach?
private final Set<MyObject> myConcurrentHashSet = ConcurrentHashMap.newKeySet();
I.e. Ich brauche nicht maximale Genauigkeit in Foreach- oder Größenoperationen, aber ich muss sicher sein, dass es keine Ausnahmen gibt, während ich foreach/add/remove/size-Operationen mache.
Ich weiß, dass ConcurrentHashMap Thread sicher ist, aber ich bin verwirrt über die Thread-Sicherheit seines Sets.
Mögliche Duplikat [iteriert Werte ConcurrentHashMap Thread-sicher?] (Https://stackoverflow.com/questions/3768554/is-iterating-concurrenthashmap-values-thread-safe) –
@Yogesh_D es ist kein Duplikat Er fragt nach der Set-Ansicht über concurrentHashMap, die nicht gut dokumentiert ist. Das Kommentardokument für newKeysSet() ist sehr schlecht. –
@KrzysztofCichocki "aber ich muss sicher sein, dass es keine Ausnahmen geben wird, während ich foreach/add/remove/size-Operationen mache." aus diesem Grund. –