Я вижу, что для использования объектов, которые не являются потокобезопасными, мы заключаем код в блокировку следующим образом:
private static readonly Object obj = new Object();
lock (obj)
{
// thread unsafe code
}
Так что же происходит, когда несколько потоков обращаются к одному и тому же коду (предположим, что он выполняется в веб-приложении ASP.NET). Они в очереди? Если так, то как долго они будут ждать?
Какое влияние на производительность оказывает использование блокировок?