Aja*_*jay 5 java eclipse-rcp swingworker executorservice
我有一个长时间运行的任务,正在 ExecutorService 线程池的后台执行。就该任务返回进度或中间结果而言,有哪些最佳实践?有没有提供此功能的库?
编辑:为了澄清,我正在谈论向其他代码报告进度,而不是向用户报告进度。
通常我会使用 SwingWorker,但我正在使用 Grails 应用程序的 Java/Groovy 后端,并且我不确定它在无头服务器环境中的表现如何,因为它具有 EDT 关系。
另一个例子是 Eclipse RCP 中的 Jobs 框架,但我需要一些与 UI 无关的东西。
嘿,您可以尝试实现观察者模式,并让感兴趣的各方订阅工作线程(java.util.Observable 或类似的扩展)或管理观察者的另一个类。
您可以使用 java.util.Observer 和 java.util.Observable 或自己推出。
实现观察者模式的一些接口的简单示例:
public interface ObservableSubject<T extends SubjectObserver, V> {
void registerObserver(T observer);
void removeObserver(T observer);
void notifyObservers(V notificationPayload);
}
public interface SubjectObserver<T> {
void handleNotification(T notificationPayload);
}
Run Code Online (Sandbox Code Playgroud)
更多信息:维基百科上的观察者模式
| 归档时间: |
|
| 查看次数: |
4220 次 |
| 最近记录: |