Как создать дочерние элементы SubMonitor для cuncurrent / параллельного / асинхронного выполнения?

Я могу использовать методы split или же newChild создать дочерний элемент для SubMonitor [1]:

SubMonitor firstChild = parentMonitor.split(50);
SubMonitor secondChild = parentMonitor.split(50);

Создание второго потомка автоматически завершает первый потомок [2]:

Каждый SubMonitor имеет только одного активного ребенка за раз. Каждый раз, когда вызывается newChild (int) или split (int), результат становится новым активным дочерним элементом и расходуется любой неиспользованный прогресс от ранее активного дочернего элемента.

Это делает ненужным вызов метода done() для экземпляра SubMonitor, поскольку дочерние мониторы автоматически очищаются при следующем касании родительского элемента.

=> Каков рекомендуемый способ создания дочерних мониторов, если я не хочу запускать одного дочернего монитора за другим, а запускать их одновременно?

Создание второго дочернего монитора немедленно приведет к неверному общему прогрессу, поскольку первый дочерний элемент еще не завершен.

Некоторые идеи:

а) не использовать SubMonitor вообще для этого параллельного случая, но придерживаться устаревшего SubProgressMontior (Я еще не проверял, поможет ли это.)?

б) Как-то пропустить потребление неиспользованного прогресса? (The suppressFlags которые могут быть переданы в метод split, похоже, не дают значения для этого.)

Смежные вопросы

0 ответов

Другие вопросы по тегам