@Override public void run() { long ticksPS = 1000; long startTime; long sleepTime; while (_running) { startTime = System.currentTimeMillis(); --_currentValue; _timeBar.setProgress(_currentValue); if (_currentValue == 0) { _running = false; _main.onTimeOut(); } sleepTime = ticksPS - (System.currentTimeMillis() - startTime); try { if (sleepTime > 0) sleep(sleepTime); else sleep(10); } catch (Exception e) { } } }