Быстрый вопрос здесь, мне нужно выполнить определенный метод только после определенного периода времени прошло (в миллисекундах):Java - оператор условия на основе миллисекунды
static double incrTrueBinaryErr = 62.5;
static double incrTrueBinaryMov = 31.25;
static double incr01001 = 360000;
static double incr_1101 = 125;
static double incr05008 = 3600000;
static double incr10004 = 1024000;
static double incr22000 = 1000;
static double incr22001 = 1000;
Date currDate;
while (true)
{
currDate = new Date();
if (currDate.getTime() == currDate.getTime() + incrTrueBinaryErr)
//do stuff
if (currDate.getTime() == currDate.getTime() + incrTrueBinaryMov)
//do stuff
if (currDate.getTime() == currDate.getTime() + incr01001)
//do stuff
if (currDate.getTime() == currDate.getTime() + incr_1101)
//do stuff
if (currDate.getTime() == currDate.getTime() + incr05008)
//do stuff
if (currDate.getTime() == currDate.getTime() + incr10004)
//do stuff
if (currDate.getTime() == currDate.getTime() + incr22000)
//do stuff
if (currDate.getTime() == currDate.getTime() + incr22001)
//do stuff
}
Однако моя программа никогда не попадает любой из них из-за того, насколько конкретны временные интервалы.
Каков наилучший способ сделать это?
Постарайтесь получить время вне цикла 'While' ... или использовать sheduled executor [Проверить этот ответ SO] (http://stackoverflow.com/questions/20988664/calling-executorservice-after-some-interval -of-time). –
Ваш вопрос непонятен. Вы хотите запускать несколько раз, каждый с другой задержкой? –