Ваш веб-интерфейс может отправить запрос на веб-сервер, который немедленно порождает внутренний поток и возвращает статус ожидания. Во время обработки потока WebServer ваш пользовательский интерфейс может быть снова использован (разблокирован).
Альтернатива 1: веб-интерфейс может опрашивать каждые 5 секунд или около того (см. Веб-работник HTML5), чтобы проверять состояние этой обработки с помощью запроса / воспроизведения и получать окончательный результат по завершении.
Альтернатива 2: Вы можете установить некоторую форму «push-уведомления» от WebServer к WebUI, чтобы сделать его известным пользовательскому интерфейсу после завершения обработки. Существует пара API-интерфейсов Push (выбирайте их в зависимости от вашего языка бэкэнда / внешнего интерфейса). Некоторые просто реализуют проверку статуса опроса, как описано выше для вас. Другие, как WebSocket, являются более общими. К сожалению, пока нет стандарта, но я надеюсь, что он появится: https://www.w3.org/TR/push-api/