我有一个班级
class A {
int a=0;
public int getVal() {
return a;
}
}
我要定期执行函数getVal。我如何从另一个班级b做到这一点?感谢。
答案 0 :(得分:5)
答案 1 :(得分:3)
java.util.Timer
的各种潜在问题列于" Java Concurrency in Practice。"的第6.2.5节中。例如:
Timer
花费的时间太长,TimerTask
表现不佳。Timer
引发未经检查的异常,则TimerTask
行为不佳。该书的作者得出结论:"没有理由在Java 5.0或更高版本中使用Timer
。"
相反,他们建议使用ScheduledExecutorService
。您可以通过ScheduledThreadPoolExecutor
构造函数或newScheduledThreadPool
中的Executors
工厂方法构建一个。后一种选择更好。
答案 2 :(得分:1)
答案 3 :(得分:1)
只需看一下java中的Threads。你可以使这个类运行,并定期执行该函数,并使用sleep()函数生成延迟。否则,您可以使调用函数runnable。