Трудные проблемы реального времени не являются правильным применением Java. Слишком много переменных, таких как сборка мусора и потоки, которые не гарантированно произойдут в заданном интервале, чтобы сделать это возможным. Если достаточно близко, это приемлемо. Производительность вашего программного обеспечения в зависимости от времени также будет зависеть от используемой ОС и оборудования, а также от того, какие другие программы также работают на этом устройстве.
Существует Real Time Java , у которого есть специальный API для упомянутых выше проблем. Вы не указываете, что используете это. Это во многом иное животное, чем на обычной Java.