假设我有一个API方法,用于执行长期操作,因此接收监视器作为参数,如
org.eclipse.ui.part.EditorPart.doSave(IProgressMonitor monitor)
如果我在这个方法中有单一的操作,我会编码,例如,写一个图像
imageFile.create(imageInput, false, monitor);
但是如果我在单doSave
内做了几个长期的子程序怎么办?如何让每个监视器测量50%或者什么?
imageFile.create(imageInput, false, monitor);
descriptionFile.create(descriptionInput, false, monitor);
答案 0 :(得分:2)
对每个方法使用SubProgressMonitor
:
monitor.beginText("task", 100);
imageFile.create(imageInput, false, new SubProgressMonitor(monitor, 50));
descriptionFile.create(descriptionInput, false, new SubProgressMonitor(monitor, 50));
给予所有子进度监视器的'tick'计数的总和应与beginTask
调用中给出的'tick'计数相匹配。