public class OversellTest
{
private static bool IsGoOn = true; //是否继续秒杀
public static void Show()
{
using (RedisStringService server = new RedisStringService())
{
server.Set("stock", 10); //设置库存
}
for (int i = 0; i < 5000; i++)
{
int k = i;
Task.Run(() =>
{
using (RedisStringService server = new RedisStringService())
{
if (IsGoOn)
{
long index = server.Decr("stock");
if (index >= 0)
{
Console.WriteLine($"{k.ToString("000")}秒杀成功,秒杀商品索引为{index}");
}
else
{
if (IsGoOn)
{
IsGoOn = false;
}
Console.WriteLine($"{k.ToString("000")}秒杀失败,秒杀商品索引为{index}");
}
}else
{
Console.WriteLine($"秒杀停止{k.ToString("0000")}");
}
}
});
}
Console.Read();
}
}