Qual è la sostituzione per Sets.newConcurrentHashSet ()?
Domanda
Sto aggiornando da Google Collezioni 0,9-1,0. Sembra Sets.newConcurrentHashSet()
non è più disponibile. Stavo usando nel seguente costrutto:
public static <K, V> Multimap<K, V> newConcurrentMultimap() { return Multimaps.newMultimap( new ConcurrentHashMap<K, Collection<V>>(), new Supplier>() { @Override public Collection<V> get() { return Sets.<V>newConcurrentHashSet(); } } ); }
Quale sarebbe il miglior sostituto per Sets.newConcurrentHashSet ()?
Modifica: La ragione di questo costrutto è quello di avere un multimap che è sicuro per leggere e scrivere da più thread. E 'utilizzato in uno scenario per lo più leggere (e verrà letto un sacco).
saluti,
Wim
Soluzione
Sets.newConcurrentHashSet
è stata ritirata nel 1.0rc1 ( commettere il login ). Non so il motivo per il ritiro, ma si potrebbe utilizzare l'attuazione da soli:
Sets.newSetFromMap(new ConcurrentHashMap<V, Boolean>());
Altri suggerimenti
Prova ad usare MapMaker
e quindi utilizzare newSetFromMap()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow