¿No debería bloquearse el método de registro?¿Cómo es que este código no se bloquea?
namespace Sandbox {
class Program {
static void Main(string[] args) {
var log = new Logger();
lock (log) {
log.Log("Hello World!");
}
}
}
public class Logger {
public void Log(string message) {
lock (this) {
Console.WriteLine(message);
}
}
}
}
posible duplicado de [Bloqueado y otros intentos de bloqueo no bloquean: ¿los bloqueos C# son reentrantes?] (Http://stackoverflow.com/questions/4846010/lock-aqcuired-and-further-attempts-to -lock-do-not-block-are-c-locks-re-entrant) –