2008-10-10 78 views
1

我正在編寫Eclipse插件,其中有很多正在運行的作業。在處理Eclipse作業時,是否有與Thread.sleep等價的東西?

在某些情況下,我希望工作在當前執行點「睡眠」一段時間,並從該點繼續(而不是重新安排工作並從頭開始)。

我的理解是,在Eclipse作業中使用Thread.sleep是相當不贊成的。

是否有一個可以接受的替代方案來完成這個?

回答

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; 
    } 
} 
+0

我認爲這是正確的做法。工作旨在完成任務並避開障礙。跟蹤狀態會給你你要求的功能。 – AdamC 2008-10-10 05:57:14

相關問題