分情况来说:普通单应用并发、多应用或多台服务器并发
情况一:普通单应用并发
使用关键字synchronized就可实现。
情况二:多应用或多台服务器并发
因多个应用之间并非同一个jvm(应用)内,因此使用synchronized并不能满足需求。
具体处理方案包含以下几种:
1)数据库行级索,优点:简单粗暴;缺点:容易死锁&性能差,非数据库专业人士不建议使用。
2)写入请求分离到一个独立应用项目中,这个实现与“情况一”一致。优点:实现技术难度低;缺点:高并发性能相对不是特别高。
3)使用分布式事务管理,该方案是目前高并发处理的最优方案。关于分布式事务管理请参考《常用的分布式事务解决方案介绍有多少种?》《深入理解分布式事务,高并发下分布式事务的解决方案》
参考:https://zhidao.baidu.com/question/2139020837540241548.html