我可以使用这些方法split
或newChild
为 SubMonitor [1]创建一个子项:
SubMonitor firstChild = parentMonitor.split(50);
SubMonitor secondChild = parentMonitor.split(50);
第二个孩子的创建自动完成第一个孩子[2]:
每个 SubMonitor 一次只有一个活动的孩子。每次调用 newChild(int) 或 split(int) 时,结果都会成为新的活动孩子,并且消耗来自先前活动孩子的任何未使用的进度。
这使得没有必要在 SubMonitor 实例上调用 done(),因为子监视器会在下次触摸父监视器时自动清理。
=>如果我不想一个接一个地执行一个孩子但同时运行它们,推荐的创建孩子监视器的方法是什么?
创建第二个监视器子进程将立即导致错误的总进度,因为第一个子进程尚未完成。
一些想法:
a)根本不要使用SubMonitor
那个并发案例,而是坚持弃用SubProgressMontior
(我还没有检查这是否有帮助。)?
b)以某种方式跳过未使用进度的消耗?(suppressFlags
可以传递给 split 方法的似乎没有为此提供值。)
相关问题