Ich sehe, dass wir für die Verwendung von Objekten, die nicht threadsicher sind, den Code mit einer Sperre wie folgt umschließen:
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, dass er in einer ASP.NET-Webanwendung ausgeführt wird)? Sind sie in der Warteschlange? Wenn ja, wie lange werden sie warten?
Welche Auswirkungen hat die Verwendung von Sperren auf die Leistung?