Estoy creando un sitio web ASP.net que maneja miles de solicitudes y todo proviene de un objeto principal que todos comparten para leerlo. Estoy tratando de entender bien estos diferentes tipos de bloqueos.entendiendo ¿Bloqueo ayuda?
Algunas preguntas comunes que tengo para cada una.
- ¿Cuál es el alcance de cada solicitud de bloqueo, Sesión, de objetos
- ¿Cuándo es correcto utilizar uno sobre el otro?
- ¿Pueden los usuarios múltiples ejecutar el código en el bloqueo a la vez?
- Rendimiento Hit?
1.
public class MyClass
{
lock
{
// DO COOL CODE STUFF.
}
}
2.
public class MyClass
{
Application.Lock
// DO COOL CODE STUFF.
Application.Unlock
}
3.
public static object lockObject = new object();
public class MyClass
{
lock(lockObject)
{
// DO COOL CODE STUFF.
}
}
4.
private static readonly ReaderWriterLockSlim slimLock = new ReaderWriterLockSlim();
public class MyClass
{
slimLock.EnterWriteLock();
// DO COOL CODE STUFF HERE.
slimLock.ExitWriteLock();
}