Простой метод: обновите информацию сразу после того, как пользователь внесет какие-либо изменения, если процедура обновления не занимает слишком много времени.Таким образом, вам не нужно многопоточность.Основная идея, если есть изменения, то обновите.
Расширенный метод: у вас будет 2 потока.Первый поток получает действие от пользователя, ставит его в очередь.Второй поток читает действие в очереди и обновляет информацию в соответствии с действием.Выглядит примерно так: Тема INPUT -> [вверх, вниз, ..., влево, вправо, вверх] -> Тема UPDATE
Вы можете легко найти решение Google, потому что этот тип проблемы довольно «классический».