Я разрабатываю веб-сайт электронной коммерции, к которому будут обращаться несколько пользователей. У меня есть метод UpdateUserAmount(), который должен быть синхронизирован для конкретного пользователя, т.е. мы не должны одновременно обращаться к методу UpdateUserAmount() для одного и того же пользователя.
Я думаю об использовании нового статического объекта блокировки для каждого пользователя. Я буду создавать этот объект, когда пользователь входит в критическую секцию, и удалять его, когда он уходит.
Мне это кажется неэффективным, поскольку мы создаем столько объектов, сколько одновременно пользователей. Есть ли эффективный метод достижения того же?
UpdateUserAmount(int amt) {
user.amount+=amt // critical section
}