Есть ли эквивалент Thread.sleep при работе с Eclipse Jobs? - PullRequest
1 голос
/ 10 октября 2008

Я пишу плагины Eclipse, где есть довольно много запущенных заданий.

В некоторых случаях я хочу, чтобы задание некоторое время «спало» в текущей точке выполнения и продолжалось с этого места (вместо того, чтобы перепланировать задание и запустить его с нуля).

Насколько я понимаю, использование Thread.sleep в заданиях Eclipse устарело.

Есть ли приемлемая альтернатива для этого?

1 Ответ

3 голосов
/ 10 октября 2008

Я думаю, что вам лучше всего перенести работу и продолжить с того места, где вы остановились. Что-то вроде:

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;
  }
}
...