長時間執行作業

org.eclipse.jface.operations 套件定義長時間執行作業的介面,這些作業需要進度指示器或允許使用者取消作業。

可執行的和進度

平台執行時期定義共用介面 IProgressMonitor, 在進行長時間執行作業時,您可以使用它來向使用者報告進度。 如果向使用者顯示進度很重要,則用戶端可以在許多平台 API 方法中提供 monitor 作為參數。

JFace 定義物件的其他特定介面,這些物件實作進度監視器的使用者介面。

IRunnableWithProgress 是長時間執行作業的介面。這個介面的 run 方法有 IProgressMonitor 參數,您可以使用它來報告進度並檢查使用者取消狀態。

IRunnableContext 是在 UI 中不同位置的介面,可以報告進度。可以選擇實作這個介面的類別 使用不同技巧來顯示進度和執行作業。例如,ProgressMonitorDialog 顯示進度對話框來實作這個介面。 IWorkbenchWindow 是在工作台視窗的狀態行顯示進度來實作這個介面。WizardDialog 實作這個介面是以在精靈狀態行顯示長時間執行作業。

附註:工作台 UI 對 WorkspaceModifyOperation 中的作業提供其他支援。這個類別簡化修改工作區的長時間執行作業的實作 。它對映 IRunnableWithProgressIWorkspaceRunnable 。請參閱 javadoc 以取得其他詳細資料。

限制模式的作業

自用戶端程式碼的視景來看,提供 ModalContext 類別是為了執行限制模式的作業。 在 IRunnableContext 的不同實作內使用它。如果外掛程式需要等待完成長時間執行作業之後才能 繼續執行,您可以使用 ModalContext 完成這個作業,同時仍保持使用者介面繼續回應。

在限制模式的環境定義執行某作業時,您可以選擇在另一個執行緒分出該作業。 如果分出是假的,則會在呼叫執行緒中執行這項作業。如果分出 是真的,就會在新執行緒執行這項作業,會暫停執行呼叫執行緒,UI 事件迴圈會一直執行直到作業終止。

如果需要 UI 事件迴圈的詳細資訊,請參閱用戶端的執行緒作業問題

IProgressService

Eclipse 3.0 中的新增功能支援長時間執行作業,而不需要擔心要使用哪一個可執行環境定義來執行長時間執行作業。此外,新的 IProgressService API 提供進度對話框,其中有詳細資料區域可允許使用者控制可能會暫停給定作業的背景作業。請參閱工作台並行支援文件。

法律注意事項