1
我正在編寫Eclipse插件,其中有很多正在運行的作業。在處理Eclipse作業時,是否有與Thread.sleep等價的東西?
在某些情況下,我希望工作在當前執行點「睡眠」一段時間,並從該點繼續(而不是重新安排工作並從頭開始)。
我的理解是,在Eclipse作業中使用Thread.sleep是相當不贊成的。
是否有一個可以接受的替代方案來完成這個?
我正在編寫Eclipse插件,其中有很多正在運行的作業。在處理Eclipse作業時,是否有與Thread.sleep等價的東西?
在某些情況下,我希望工作在當前執行點「睡眠」一段時間,並從該點繼續(而不是重新安排工作並從頭開始)。
我的理解是,在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;
}
}
我認爲這是正確的做法。工作旨在完成任務並避開障礙。跟蹤狀態會給你你要求的功能。 – AdamC 2008-10-10 05:57:14