
если в действии, которое берет значение счетчика, перед этим самым считыванием, установить для этого же объекта другой атрибут (типа "счетчик занят"), сделать update, потом считать, увеличить, записать и убрать флаг занятости, и тут же снова сделать update?
и перед всем этим сначала проверять, занят ли счетчик.. если не занят - начинаем его занимать и обрабатывать, если занят - снова проверяем, занят или нет...
если между двумя update не будет никакой реакции юзера, то вроде 2-е действие не будет слишком долго ожидать..