かなりの数の実行中のジョブがある Eclipse プラグインを作成しています。
場合によっては、(ジョブのスケジュールを変更して最初から開始するのではなく) 現在の実行時点でジョブをしばらく「スリープ」させ、その時点から続行させたい場合があります。
私の理解では、Eclipse ジョブ内で Thread.sleep を使用することは非常に非推奨です。
これを達成するための許容可能な代替手段はありますか?
かなりの数の実行中のジョブがある Eclipse プラグインを作成しています。
場合によっては、(ジョブのスケジュールを変更して最初から開始するのではなく) 現在の実行時点でジョブをしばらく「スリープ」させ、その時点から続行させたい場合があります。
私の理解では、Eclipse ジョブ内で Thread.sleep を使用することは非常に非推奨です。
これを達成するための許容可能な代替手段はありますか?
最善の策は、仕事のスケジュールを変更して、中断したところから再開することだと思います。何かのようなもの:
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;
}
}