В чем разница между блокировкой на тип класса или блокировка самого класса?
Например:
private readonly object xmpp = new object(); lock (xmpp) { ... }
vs
lock (typeof(Xmpp)) { ... }