В таком случае я бы сказал, что лучше выделять свои собственные потоки, чем использовать рабочие места.Ваши 100 заданий начнут использовать потоки заданий, которые будут использоваться для обслуживания Workbench.Выделение собственных потоков означает, что пул потоков заданий не вырастет до максимального значения и останется там.
У меня было бы одно задание, которое запускает ваши потоки и сообщает о прогрессе в представление прогресса.Вы можете использовать SubMonitor, чтобы разделить основной IProgressMonitor на 100, чтобы каждая из запущенных пар Thread / Runnable могла сообщать о ходе выполнения обратно в основное задание.