我正在编写Eclipse插件,其中有很多正在运行的作业。
在某些情况下,我希望作业在当前执行点“暂停”一段时间并从该位置继续(而不是重新安排作业并从头开始)。
我的理解是在Eclipse作业中使用Thread.sleep已经完全弃用了。
有没有可以接受的替代方法来实现这个目标?
答案 0 :(得分: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;
}
}