Я выполняю что-то похожее на следующий код в режиме отладки:
for (int i = 0; i < 5000; i++)
{
for (int j = 0; j < 10; j++)
{
DoSomething();
}
}
Время от времени я получаю сообщение "ContextSwitchDeadlock был обнаружен" от VS 2010. Кажется, что производительность снижается с меньшим объемом доступной оперативной памяти,У меня есть 8 ГБ, и я могу запустить программу примерно за 8 минут (после того, как циклы выполнены, МНОГИЕ попаданий в БД, так что 8 минут - это не время цикла), на машинах 4 ГБ время удваивается!Из того, что я красный, MDA запускается, потому что мой цикл работает дольше 60 секунд.По сути, это предупреждение о том, что код полностью блокирует приложение.
Что я могу сделать, чтобы избежать этих ситуаций и повысить скорость?
Спасибо!