2
A
回答
2
的Task
类添加到FutureTask
一堆功能,但所有的非明显的部位是与提供观察到性能,并确保它们被更新的FX应用程序线程做。这听起来像你不需要任何困难的部分:你正在查询任务来检查它的进度(所以你不需要可观察性,即当进度改变时调用回调)并且你没有FX应用程序线程在其上安排更新。
因此,举例来说,如果你想跟踪进展情况,只是相应的属性添加到您的Callable
实现。如果你想进步是从多个线程访问,使用原子引用内部表示进度(或者至少使其volatile
):
import java.util.concurrent.Callable ;
import java.util.concurrent.atomic.AtomicLong ;
public class MyCountingTask implements Callable<Void> {
private AtomicLong progressCount = new AtomicLong();
private final long max = 1000 ;
@Override
public Void call() throws InterruptedException {
for (int count = 0; count < max ; count++) {
progressCount.set(count);
// in real life, do actual work instead of sleeping...
Thread.sleep(100);
}
progressCount.set(max);
return null ;
}
public double getProgress() {
return 1.0*progressCount.get()/max ;
}
}
相关问题
- 1. JavaFX - 等待任务完成
- 2. 并发任务更新复杂对象JavaFX - swingworker等效?
- 3. JavaFX System.currentTimeMillis()+任务
- 4. JavaFX任务通信
- 5. 非弃用等效
- 6. 异步任务到Java等效
- 7. JavaFX更新文本任务
- 8. 完成监控javafx任务
- 9. JavaFX 2.0中postinit {}块的等效代码
- 10. 与任务无效任务翻译例外并行库一拉等待
- 11. 效果链 - CSS等效于javafx中的effect.setInput
- 12. 如何在JavaFX中排列任务?
- 13. javafx中的连续运行任务?
- 14. JavaFX 8任务栏图标监听器
- 15. JavaFX ExecutorService失去任务结果
- 16. JavaFX在后台执行任务
- 17. 任务完成后JavaFX执行代码
- 18. JavaFX:为任务提供参数
- 19. Redux等效于Angular2服务
- 20. 在JavaFX任务中创建一个JavaFX对话框
- 21. 等待完成ExecutorService中Runnable任务的有效方法
- 22. <echo> rakefile中的ant任务等效吗?
- 23. 任务没有等到等待时间
- 24. 等待/异步任务不等待
- 25. C#异步任务等待VS等待
- 26. 等待任务取消永久等待
- 27. JavaFx:无效ChangeListener
- 28. 等待任务完成
- 29. 如何等待ExcelUtilAsync任务?
- 30. 任务等待失败
看看[FutureTask(https://开头的文档。 oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html#get())和[Executor](https://docs.oracle.com/javase/7/docs/api/java /util/concurrent/Executor.html) – jhamon
FutureTask支持无进度更新 – Hesk
您能澄清“非JavaFX应用程序”吗? – jhamon