在Java中,在特定的时间间隔后安排任务
我有课在Java中,在特定的时间间隔后安排任务,java,scheduled-tasks,Java,Scheduled Tasks,我有课 class A { int a=0; public int getVal() { return a; } } 我必须定期执行函数getVal。我该如何从另一个b班开始?谢谢。查看计时器类 只要看看java中的线程就可以了。您可以使该类可运行,并定期执行该函数,并且可以使用sleep()函数生成延迟。否则,可以使调用函数可运行 老路 新(和首选)方式 实施 更具体地说,使用该类。java.util.Timer的各种潜在问题在“jav
class A {
int a=0;
public int getVal() {
return a;
}
}
我必须定期执行函数getVal。我该如何从另一个b班开始?谢谢。查看计时器类
只要看看java中的线程就可以了。您可以使该类可运行,并定期执行该函数,并且可以使用sleep()函数生成延迟。否则,可以使调用函数可运行 老路
新(和首选)方式
实施
更具体地说,使用该类。java.util.Timer的各种潜在问题在“java并发性实践”的第6.2.5节中列出。例如:
- 如果
运行时间过长,则TimerTask
的性能会很差Timer
如果Timer
引发未经检查的异常,则计时器的行为会很差TimerTask
Timer
。”
相反,他们建议使用
ScheduledExecutorService
。您可以通过ScheduledThreadPoolExecutor
构造函数或Executors
中的newScheduledThreadPool
工厂方法构造一个。后一个选项更好。它对我来说总是很好,但还有更“现代”的API ScheduledExecutorService和ScheduledFuture,它也能做到这一点。我正在用Java编写一个简单的程序,不使用Swing。那么,在不将getVal()放在run()中或根本不使用run()的情况下,是否仍可以调用getVal()?再次感谢。