У меня есть Java-приложение. Когда приложение запускается, запускается поток таймера, и приложение обновляется с помощью API.Эта тема запускается каждую минуту.Но программе требуется около 15 минут, чтобы принести все записи из приложения при первом входе пользователя в систему.
Как только все записи в первом входе в систему получены, поток продолжит работать в обычном режиме.и поддерживать поступление новых записей.
Поскольку данные, поступающие с первого входа пользователя в систему, велики, данные обрабатываются за 15 минут.Это означает, что он будет запущен 15 раз в течение 15 минут.Я защитил метод, в котором Thread работает с ключевым словом синхронизации.Есть еще кое-что, что мне нужно сделать.
После предыдущей выборки Thread, другой выбор для запуска.
Ошибка логики.
Код потока моего таймераблок следующим образом;
final Timer timer = new Timer("Sikke Timer Task");
long delay = SikkeConstant.THREAD_DELAY;
long intervalPeriod = SikkeConstant.INTERVAL_PERIOD; //60sec
TimerTask task = new TimerTask() {
@Override
public void run() {
/* if (_System.shouldThreadContinueToWork) { */
try {
new EchoPostHandler().jsonrpc.methods.syncTx();
} catch (Exception e) {
System.out.println("Error on sikke thread : " + e.getMessage());
e.printStackTrace();
}
/* } */
}
};
timer.scheduleAtFixedRate(task, delay, intervalPeriod);