java - 在 Java Spring 应用程序中解决竞争条件的最佳方法是什么?
问题描述
我在 Spring 上开发了简单的测验 Web 应用程序,它实现了“测验按钮”,在客户端玩家应该比其他人更快地点击按钮以获得积分。所以我有控制器方法,比如
@RequestMapping(value = "/pressButton", method = RequestMethod.POST)
public String processButtonClick(Authentication authentication) {
//return first player name
}
如何检查哪个用户首先点击了它?如何在数据库更新时防止竞争条件?
解决方案
您可以为您的方法分配synchronized
,然后它不会同时运行多次。
推荐阅读
- node.js - Express/Multer 多文件上传 [object OBJECT] 错误
- html - 垂直对齐打破文本下划线
- sql - 如何获取内部联接的第一个实例以在 SQL Server 中执行“选择”?
- r - 变量的多种模式
- sql - 我需要帮助来重写用 Union to Joins 编写的 SQL 查询
- python - 从 python bandit 安全问题报告中忽略/跳过一些问题的方法是什么?
- javascript - Draft.js 编辑器组件不可编辑
- jquery - 如果存在未定义的内联背景图像,请使用 jQuery 删除 DIV
- c# - 多个下拉框不拾取新元素(Selenium,C#)
- sql - 仅将某些列从一个表复制到另一个表并插入 defa