Ich sehe, dass wir bei der Verwendung von Objekten, die nicht thread-sicher sind, den Code mit einer Sperre wie dieser verpacken:
private static readonly Object obj = new Object();
lock (obj)
{
// thread unsafe code
}
Was passiert also, wenn mehrere Threads auf denselben Code zugreifen (nehmen wir an, er wird in einer ASP.NET-Webanwendung ausgeführt). Stehen sie in einer Warteschlange? Wenn ja, wie lange werden sie warten?
Welche Auswirkungen auf die Leistung hat die Verwendung von Sperren?