程序會不會有超過 秒殺數(shù)量的情況出現(xiàn)啊?
老實, 幫忙問一個問題, 因為 消費隊列一直在執(zhí)行過程中,當我添加了一個隊列后, 后臺立即消費了, 那前臺程序獲取隊列總數(shù)的時候就少了一個, 這個情況會出現(xiàn)嗎? 一般如何解決啊?
老實, 幫忙問一個問題, 因為 消費隊列一直在執(zhí)行過程中,當我添加了一個隊列后, 后臺立即消費了, 那前臺程序獲取隊列總數(shù)的時候就少了一個, 這個情況會出現(xiàn)嗎? 一般如何解決啊?
2019-09-21
舉報
2020-01-05
視頻中采用for循環(huán)測試,這個是有序的,所以不會出現(xiàn)超賣現(xiàn)象;如果并發(fā)測試的話,會出現(xiàn)超賣現(xiàn)象;這里提供一個解決思路:活動前定義一個長度為10的list;利用lpop的原子性可以保障不會超賣;就是每次請求先lpop,如果可以獲取到值,表示秒殺成功;獲取不到說明已搶完。
2019-10-11
可以通過設(shè)置一個const常量解決吧,常量初始值為0,有數(shù)據(jù)入隊時常量值++,通過判斷常量的值控制秒殺數(shù)量,這樣消費者消費隊列并不會影響統(tǒng)計秒殺數(shù)量