En el contexto de esta declaración,Aclaración de lectura y escritura en un C# Diccionario
Un diccionario puede apoyar varios lectores simultáneamente, siempre y que no se modifica la colección. Aún así, enumerar a través de una colección no es intrínsecamente un procedimiento thread-safe. En el raro caso donde una enumeración sostiene con accesos de escritura, la colección debe estar bloqueada durante la enumeración completa . Para permitir el acceso a la colección por medio de múltiples hilos para leer y escribir, debe implementar su propia sincronización.
¿Qué significa leer y escribir? Tengo entendido que una lectura es una operación que busca una clave y proporciona una referencia a su valor y una escritura es una operación que agrega o elimina un par de valores clave del diccionario. Sin embargo, no puedo encontrar nada concluyente con respecto a esto.
Entonces, la gran pregunta es, al implementar un diccionario seguro para hilos, ¿una operación que actualiza el valor de una clave existente en el diccionario se considera un lector o escritor? Planeo tener varios subprocesos accediendo a claves únicas en un diccionario y modificando sus valores, pero los hilos no agregarán/eliminarán nuevas claves.
La implicación obvia, suponiendo que modificar un valor existente no es una operación de escritura en el diccionario, es que mi implementación de la dicción segura de subprocesos puede ser mucho más eficiente, ya que no necesitaría un bloqueo exclusivo cada vez Intento actualizar el valor de una clave existente.
El uso de ConcurrentDictionary desde .Net 4.0 no es una opción.
Esto es realmente un comentario, no una respuesta a la pregunta. Utilice "agregar comentario" para dejar comentarios al autor. – SliverNinja
@SliverNinja, me parece que esta respuesta se dirige a la pregunta central "¿una operación que actualiza el valor de una clave existente en el diccionario se considera un lector o escritor?". – binki