目前的我的這個同步方法是這樣的,我查閱的一些資料是解釋:
synchronized()作用是:防止多個線程同一時間調用此代碼塊或者方法.
如果我多台服務器上的 tomcat ,在執行到這個方法的時候是什麼情況?
Synchronized只能鎖定當前tomcat的方法;
因為其實現機制是可用共享的堆內存空間,多個tomcat之間就各用各的堆內存空間,所以在多個tomcat之間用同步是辦不到實際的原子性操作的;
解決方法:
1.在數據庫層面進行鎖定,避免髒數據的產生;
2.將共享的變量或操作放置於一個中央控制服務器中,這樣也能辦到共享數據的原子性