Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,在特定的时间间隔后安排任务_Java_Scheduled Tasks - Fatal编程技术网

在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
    引发未经检查的异常,则计时器的行为会很差
这本书的作者得出结论,“没有什么理由在Java5.0或更高版本中使用
Timer
。”


相反,他们建议使用
ScheduledExecutorService
。您可以通过
ScheduledThreadPoolExecutor
构造函数或
Executors
中的
newScheduledThreadPool
工厂方法构造一个。后一个选项更好。

它对我来说总是很好,但还有更“现代”的API ScheduledExecutorService和ScheduledFuture,它也能做到这一点。我正在用Java编写一个简单的程序,不使用Swing。那么,在不将getVal()放在run()中或根本不使用run()的情况下,是否仍可以调用getVal()?再次感谢。