Невозможно эффективно инкапсулировать контейнеры, предлагающие STL-подобные интерфейсы (что делает и unordered_map) с автоматической блокировкой, поскольку существуют условия гонки, связанные с извлечением итераторов и позиций внутри строки, а затем с попыткой использования их в последующих операциях.Если вы можете найти какой-то менее гибкий интерфейс, который соответствует вашим потребностям, возможно, помещая любые сложные операции в одиночные вызовы заблокированных функций, то вы можете легко обернуть потокобезопасный класс вокруг контейнера, чтобы упростить ваше использование.