1.場景:html
兩個不一樣的帳戶登陸兩個瀏覽器,導入一樣的excel表格。業務邏輯已經有驗重校驗,但數據仍然出現重複,鎖定是併發問題致使。spring
2.參考博客:瀏覽器
https://cloud.tencent.com/developer/article/1354441 synchronized鎖處理spring事務高併發請求併發
https://blog.csdn.net/u011974797/article/details/94459700 關於service層加synchronized關鍵字的坑高併發
http://www.javashuo.com/article/p-oknlwbjt-gq.html synchronized(修飾方法和代碼塊).net
http://www.javashuo.com/article/p-ynbcvhdc-gt.html synchronized同步語句塊線程
3.緣由解析:excel
好多用戶同時請求同一個controller請求,並且用戶傳的都是一樣的數據。雖然controller中有對數據重複校驗,可是由於多個線程同時進行,沒法數據驗重;htm
由於每一個線程同時進行,數據驗重其實都是尚未重複的,只有線程一個一個進行,纔會保證上一個線程完了,下一個線程對最新的數據進行驗重。blog