首页 > 解决方案 > 在 Java Spring 应用程序中解决竞争条件的最佳方法是什么?

问题描述

我在 Spring 上开发了简单的测验 Web 应用程序,它实现了“测验按钮”,在客户端玩家应该比其他人更快地点击按钮以获得积分。所以我有控制器方法,比如

@RequestMapping(value = "/pressButton", method = RequestMethod.POST)
public String processButtonClick(Authentication authentication) {
    //return first player name
}

如何检查哪个用户首先点击了它?如何在数据库更新时防止竞争条件?

标签: javaspringpostgresqlrace-condition

解决方案


您可以为您的方法分配synchronized,然后它不会同时运行多次。


推荐阅读