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

È stato utile?

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
scroll top