דָּוִדdavidov777 (daviddavidov777) wrote,
דָּוִדdavidov777
daviddavidov777

Ангел Бездорожья - помощь на дорогах

Вот как это работает:
public ValueType get()
{
// вызов update() находится ниже по коду, следовательно
// выполнение этого условия означает, что get() косвенно
// или напрямую был вызван из update()
if (updateInProgress)
throw new RecursionDetectedException(this);

// выполняем update() только если значение устарело
if (isInvalid)
{
// этот флаг обязательно нужно снять по выходу из update()
updateInProgress = true;
try
{
// выполняем обновление
value = update();

// isInvalid станет false только если update()
// выполнился штатно без эксепшенов
isInvalid = false;
}
catch (RecursionDetectedException e)
{
if (e.getRecursionStarter() != this)
throw e; // выкидываем исключение дальше, если рекурсию начали не мы
else
return getDefault(); // возвращаем значение по-умолчанию
}
finally
{
// снимаем флаг в любом случае, как бы не завершилась get()
updateInProgress = false;
}
}

return value;
}


Решение позволило в большом проекте сохранить массу времени. Как времени программиста, так и процессорного. Экономия производительности состоит в том, что данные рассчитываются только по запросу, и если запроса так и не произошло, то следовательно эти данные никому понадобились и считать их не нужно. Надеюсь эти 2 маленьких класса позволят сэкономить и ваше время. Буду рад конструктивной критике и случаям, при которых «ничего не работает».

Интересное предложение Ангел бездорожья - помощь на дорогах специально для вас !Не теряйте зря время дешевле вы не найдете!



Посты о помощи на дорогах. Ангел бездорожья выполняет работы по эвакуации транспорта из труднодоступных мест любой сложности. На сайте http://www.evakuator4x4.ru/ масса информации о работе компании АНГЕЛ БЕЗДОРОЖЬЯ есть фото и видео, которые можно использовать в постах, с обязательной ссылкой на сайт в виде- Источник: www.evakuator4x4.ru. Статьи с сайта копировать нельзя. Посты должны содержать информацию о компании, о помощи на дорогах, о тюнинге внедорожников, об игре, которую проводит Ангел бездорожья.
Tags: Ангел бездорожья - помощь на дорогах
Subscribe

  • Наружная реклама

    Надавно была опубликована библиотека node-fibers, вносящая в nodejs и v8 поддержку замечательного fiber/coroutine — тоесть, возможность использовать…

  • New age.................

    Заниматься еще больше торговлей!Понять куда пойдет тренд. Учиться , как можно больше задавать как можно больше вопросов.не терять время на всякую…

  • music

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments