Да, в главном потоке проверьте наличие обновлений (или получите уведомление от рабочих потоков), а затем отправьте отчет о ходе выполнения через сокеты TCP (или используя межпроцессное взаимодействие, если на том же компьютере).
На стороне клиента анализируйте информацию, когда вы ее получаете, и соответственно обновите GUI / Progress.