我正在编写 Eclipse 插件,并且经常遇到正在运行的 Job 需要暂停片刻,在 UI 线程上异步运行某些东西,然后恢复的情况。
所以我的代码通常看起来像:
Display display = Display.getDefault();
display.syncExec(new Runnable() {
public void run() {
// Do some calculation
// How do I return a value from here?
}
});
// I want to be able to use the calculation result here!
一种方法是让整个 Job 类都有一些字段。另一个是使用自定义类(而不是匿名的,并使用其结果数据字段等。最好和最优雅的方法是什么?