Se han escrito muchas cosas sobre la clase ReaderWriterLockSlim que permite lectura múltiple y una sola escritura. Todos estos (al menos que he encontrado) dicen cómo usarlo sin mucha explicación sobre por qué y cómo funciona. El ejemplo de código estándar es:.NET ReaderWriterLockSlim issues
lock.EnterUpgradeableReadLock();
try
{
if (test if write is required)
{
lock.EnterWriteLock();
try
{
change the resourse here.
}
finally
{
lock.ExitWriteLock();
}
}
}
finally
{
lock.ExitUpgradeableReadLock();
}
La pregunta es: si lo permite el bloqueo actualizable un solo hilo para entrar en su sección, por la que debe llamar al método EnterWriteLock dentro? ¿Qué pasará si no lo hago? ¿O qué sucederá si en lugar de EnterUpgradeableReadLock voy a llamar a EnterWriteLock y escribiré en un recurso sin utilizar ningún bloqueo actualizable?
¡Gracias a todos! Como puedo aceptar una respuesta única, elegí (subjetivamente) esta como la más informativa. – Kamarey