1

かなりの数の実行中のジョブがある Eclipse プラグインを作成しています。

場合によっては、(ジョブのスケジュールを変更して最初から開始するのではなく) 現在の実行時点でジョブをしばらく「スリープ」させ、その時点から続行させたい場合があります。

私の理解では、Eclipse ジョブ内で Thread.sleep を使用することは非常に非推奨です。

これを達成するための許容可能な代替手段はありますか?

4

1 に答える 1

3

最善の策は、仕事のスケジュールを変更して、中断したところから再開することだと思います。何かのようなもの:

class MyJob {
  int state;
  IStatus run(IProgressMonitor m) {
    if (state == 0) {
      phase1();
      schedule(1000);
    }
    else if (state == 1) {
      phase2();
    }
    return Status.OK;
  }
  void phase1() {
    state = 1;
  }
  void phase2() {
    state = 2;
  }
}
于 2008-10-10T05:23:23.443 に答える