Возможно, вопрос звучит глупо, но я не понимаю "что-то о потоках и блокировке", и я хотел бы получить подтверждение (здесь, почему я спрашиваю).
Итак, если у меня есть 10 серверов и 10 запросов одновременно, приходите на каждый сервер, то 100 запросов по ферме. Без блокировки, то 100 запросов к базе данных.
Если я сделаю что-то вроде этого:
private static readonly object myLockHolder = new object();
if (Cache[key] == null)
{
lock(myLockHolder)
{
if (Cache[key] == null)
{
Cache[key] = LengthyDatabaseCall();
}
}
}
Сколько запросов на базу данных я сделаю? 10? 100? Или сколько у меня есть потоков?