假设我有一个 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);
最佳答案
每次调用方法时使用SubProgressMonitor
:
monitor.beginText("task", 100);
imageFile.create(imageInput, false, new SubProgressMonitor(monitor, 50));
descriptionFile.create(descriptionInput, false, new SubProgressMonitor(monitor, 50));
为所有子进度监视器指定的“tick”计数总和应与 beginTask
调用中指定的“tick”计数相匹配。
关于java - 如何将进度监视器传递给多个子程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21984562/