Как да регистрирам грешка след всеки определен брой опити по време на заспиване на нишката?

Имам цикъл while, който проверява метода verifySystem, за да види дали връща true или не. Ако не връща true, тогава ще заспи за 5 минути и след това отново извиква verifySystem метод след 5 минути, за да види дали връща true или не.

    while (!verifySystem(name, value)) {
        Thread.sleep(5 * 60 * 1000); // sleeping for 5 minutes
    }

Така че да предположим, че по някаква причина този метод не връща true, тогава програмата ми винаги ще продължи да работи завинаги.

Така че мисля да имам проверка, например ако има заспиване поне 10 пъти, тогава бих регистрирал грешка, използвайки System.out.println() за сега. Ще използвам logger, след като интегрирам кода си..

Как да добавя тази логика на 10-кратна проверка и ако е опитал повече от 10 пъти, след това да регистрира грешка и да нулира брояча. Така че отново ще започне да извиква verifySystem метод на всеки 5 минути, за да види дали този метод връща true или не..

Накратко, той ще регистрира грешка след всеки 10 опита, но ще нулира брояча след това..


person Community    schedule 24.02.2014    source източник


Отговори (2)


Защо не като това:

int errorCount = 0;

while (!verifySystem(name, value)) {
    if(++errorCount > 10) {
        // Log your message
        System.out.println("ERROR");
        // Reset counter
        errorCount = 0;
    }

    Thread.sleep(5 * 60 * 1000); // sleeping for 5 minutes
}

errorCount = 0;
person Misc08    schedule 24.02.2014

person    schedule
comment
Благодаря jw23 за помощта.. Имайте смисъл сега.. Оценявам помощта ви.. Имам и още един въпрос тук. Вижте дали можете да ми помогнете.. - person ; 24.02.2014