Pregunta

Estoy actualizando desde Google Colecciones 0,9 a 1,0. Parece Sets.newConcurrentHashSet() ya no está disponible. Lo estaba utilizando en el siguiente constructo:

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();
         }
    } );
}

¿Cuál sería el mejor reemplazo para Sets.newConcurrentHashSet ()?

Editar: La razón de esta construcción es tener un multimap que es seguro para leer y escribir desde varios subprocesos. Se utiliza en un escenario de leer sobre todo-(y será leído mucho).

cordiales,

Wim

¿Fue útil?

Solución

Sets.newConcurrentHashSet fue retirada en 1.0rc1 ( cometer log ). No sé la razón de la retirada, pero se puede usar la implementación mismo:

Sets.newSetFromMap(new ConcurrentHashMap<V, Boolean>());

Otros consejos

Trate de usar MapMaker y luego usar newSetFromMap()

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top