Java 我应该使用计时器或并发服务来更改日期的ObservieObject吗?
我有一个Java 我应该使用计时器或并发服务来更改日期的ObservieObject吗?,java,Java,我有一个observeValue对象LocalDate: private ObjectProperty<LocalDate> cal = new SimpleObjectProperty<>(this, "cal", LocalDate.now()); private ObjectProperty cal=new SimpleObjectProperty(这个“cal”,LocalDate.now()); 我想定期将cal对象的值更改为LocalDate.now。更可
observeValue
对象LocalDate
:
private ObjectProperty<LocalDate> cal = new SimpleObjectProperty<>(this, "cal", LocalDate.now());
private ObjectProperty cal=new SimpleObjectProperty(这个“cal”,LocalDate.now());
我想定期将
cal
对象的值更改为LocalDate.now
。更可取的方法是:计时器
或并发
?您可以使用调度线程执行器
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(new Runnable() {
public void run() {
// Change your date object
}
}, 0, 1, TimeUnit.SECONDS);
从计时器开始 Java5.0引入了
Java.util.concurrent
包,其中的一个并发实用程序是ScheduledThreadPoolExecutor
它是一个线程池,用于以给定速率重复执行任务
或者拖延。它实际上是对
定时器
/定时器任务
组合,因为它允许多个服务线程,
接受各种时间单位,不需要子类化时间任务
(只需实现Runnable
)
你能解释一下为什么它比定时器更好吗?