c# - onu - informe de cuba sobre el bloqueo 2018
bloqueo(X) vs bloqueo(typeof(X)) (1)
¿Cuál es la diferencia entre el bloqueo en un tipo de una clase y el bloqueo en la clase en sí?
Por ejemplo:
private readonly object xmpp = new object();
lock (xmpp)
{
...
}
vs
lock (typeof(Xmpp))
{
...
}
lock(x)
sincroniza en un bloqueo diferente para cada instancia del tipolock(typeof(X))
sincroniza en el mismo bloqueo para todas las instancias del tipo
Bloqueo siempre en un objeto de bloqueo privado:
public class X
{
private readonly Object _lock = new Object();
// ...
lock (_lock)
{
}
Si debe sincronizar el acceso a los miembros de la clase estática , use el mismo patrón:
public class X
{
private readonly static Object s_lock = new Object();