我想批处理一堆任务(更新 GUI)并每秒运行它们。 (我每秒有数百个更新,这导致 Java FX 2 卡住)
public void update(String price){
Platform.runLater(new Runnable(){
@Override
public void run() {
priceLabel.setText(price);
}});
}
在 Java 中执行此操作最简单的方法是什么?
最佳答案
通常,对 GUI 的所有更新都会一起批处理并在 GUI 线程中进行处理。我认为你的架构才是你真正的问题。每 10 毫秒更改一次标签是不明智的。即使 Java FX 支持这一点,用户也只能看到闪烁。因此,我建议您更新内部数据模型,并使数据模型的更改以一定的时间速率对用户可见。这样,您的数据模型就独立于您的 UI,并且后台线程可以每 2 秒左右向您的 UI 提交单个更新。
关于java - 使用 Executor 批处理任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10680869/