【发布时间】:2017-01-15 15:24:46
【问题描述】:
我想每 4 秒执行一次函数,第一组代码工作得非常好,每 4 秒打印一次“测试”。
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");
}
}
但是,如果我在 runnable 中有一个 for 循环,则“测试”不再像我要求的那样延迟。
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 都会快速连续打印出来。它们正在发生,它们之间没有任何延迟。
-
您认为在 numberOfFiles 的元素之间引入 daly 的正确方法是什么?
-
Thread.sleep?
标签: java android runnable scheduledexecutorservice