Такой ответ я и сам привел в моем вопросе. И он меня не устраивает, потому что допускает нарушение бизнес-логики. Пользователю необязательно открывать 5 браузеров. В моем примере это может быть компонент для параллельной мультизагрузки изображений - вот вам и 5 запросов, которые запросто могут прийти на сервер одновременно.
Может в случае с картинками это и не критично, но вообще имеется в виду надежный способ ограничить количество неких объектов, которые может создать пользователь.
Скажем так, я не хочу, чтобы у меня в скрипте была хотя бы даже теоретическая возможность нарушения логики из-за эффектов параллелизма.
Свои варианты решения я привел. Мне они не нравятся. Хотелось бы узнать, как этот вопрос решают другие люди.
От пользователя могут одновременно прийти несколько запросов, скажем 5 штук. Запускаются 5 экземпляров скрипта, одновременно выполняют проверку и каждый из них создает запись в таблице. В итоге у пользователя в таблице будет 5 записей.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
В принципе я для себя выбрал подходящее решение, спасибо всем за ответы.