Ho uno List
di oggetti che vengono aggiornati regolarmente da un paio di thread. Durante l'aggiornamento voglio usare uno stream per filtrare alcuni elementi.Raccolta aggiornata durante l'esecuzione dello streaming java 8
Ad esempio; dire che ho lista che viene aggiornata regolarmente:
List<MyObject> myList
Ora, a un certo punto nel tempo che uso corrente in tale elenco
List<MyObject> result =
myList.stream().filter(myobj->myobjt.isValid()).collect(toList());
È questo thread-safe dato che la mia lista è in corso di aggiornamento da una un paio di discussioni?
Quale implementazione di elenco stai utilizzando? Come stai aggiornando la lista (aggiungendo alla fine o altre cose)? Cosa ti aspetti dal tuo stream con questi aggiornamenti (ignora/include/fail fast/qualcos'altro)? – Thilo
Uso CopyOnWriteArrayList poiché desidero la raccolta sicura dei thread. Aggiungo solo alla fine di una lista. Voglio che il mio stream faccia cose generiche, potrebbe filtrare o aggiornare oggetti all'interno dell'elenco. Ho appena dato un esempio di filtraggio ma può essere qualsiasi cosa – user1409534