分情況來說:普通單應用並發、多應用或多台服務器並發
情況一:普通單應用並發
使用關鍵字synchronized就可實現。
情況二:多應用或多台服務器並發
因多個應用之間並非同一個jvm(應用)內,因此使用synchronized並不能滿足需求。
具體處理方案包含以下幾種:
1)數據庫行級索,優點:簡單粗暴;缺點:容易死鎖&性能差,非數據庫專業人士不建議使用。
2)寫入請求分離到一個獨立應用項目中,這個實現與“情況一”一致。優點:實現技術難度低;缺點:高並發性能相對不是特別高。
3)使用分布式事務管理,該方案是目前高並發處理的最優方案。關於分布式事務管理請參考《常用的分布式事務解決方案介紹有多少種?》《深入理解分布式事務,高並發下分布式事務的解決方案》
參考:https://zhidao.baidu.com/question/2139020837540241548.html