在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  網(wǎng)絡安全/ java service 加synchronized無效

java service 加synchronized無效

如題,我一個分布式的項目?,F(xiàn)在要做一個搶卡的功能。想用synchronized修飾一個方法,加鎖,但是結果不是樂觀

clipboard.png

clipboard.png

我從一個service調了另一個service的receiveVipCard()這個方法,一開始我會先判斷能不能領。
我的測試方法是:把一個卡的能被領取的數(shù)量變?yōu)?,然后2個手機一起搶,結果都搶到了(搶完后,我會把能領取卡的數(shù)量-1),但這個卡的能被領取的數(shù)量是0,也就是只減了一次,為什么呢?分布式不能這么加鎖嗎

回答
編輯回答
黑與白

==================================我的答案====================================
這個是分布式的事務,用synchronized是不行的,得用分布式的鎖。主要有數(shù)據(jù)庫級別的,redis的和zookeeper的鎖。本次我用了redis來實現(xiàn)。

2018年7月30日 16:48
編輯回答
離殤

你得屬于數(shù)據(jù)庫事務

2017年8月21日 09:46