私は Eclipse プラグインを作成していますが、実行中のジョブをしばらく一時停止し、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!
これを行う 1 つの方法は、Job クラス全体に何らかのフィールドを持たせることです。もう 1 つは、カスタマイズされたクラスを使用することです (このために匿名ではなく、その結果のデータ フィールドを使用するなどです。最善かつ最もエレガントなアプローチは何ですか?