Я хотел бы выполнять функцию каждые 4 секунды, и первый набор кода работает отлично, что «тестирование» печатается каждые 4 секунды. неПочему мое расписаниеAtFixedRate delay игнорируется?
ScheduledExecutorService SES = Executors.newSingleThreadScheduledExecutor();
SES.scheduleAtFixedRate(new UpdateGraph(), 4, 4, TimeUnit.SECONDS);
public class UpdateGraph implements Runnable {
@Override
public void run() {
Log.v("testing", "testing");
}
}
Однако, если у меня есть для зацикливания внутри работоспособный, «тестирование» больше не задерживается, как я просил.
public class UpdateGraph implements Runnable {
@Override
public void run() {
for (int i = 0; i < numberOfFiles; i++) {
final double t = i;
final int y = i;
lineGraphPosture.addNewPoints(PointPosture.singlePoint(t, getNextX().get(y)));
graphView.repaint();
Log.v("testing", "testing");
}
}
}
Я понимаю, что проблема связана с циклом for, но не может понять, почему?
Пожалуйста, может кто-нибудь дать некоторые рекомендации =)
Вы используете петлю. Конечно, все numberOfFiles будут распечатаны быстро. Они происходят без промедления между ними. –
Что вы предлагаете, это правильный способ ввести daly между элементами numberOfFiles? – CWHsu
'Thread.sleep'? –