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