时间比较急,所以希望大家给点经验,实现方法,有代码参考 更加好:
类似微信抢红包程序,用户量是150个,同时抢红包,红包总数50个。
如何解决并发的问题(控制50个人抢到红包):
我的思路是这样,开一个线程,存放一个int iCount=50,大家抢红包过程排队访问这个进程,抢到的话 iCount-=1 ,直到iCount=0,最后关闭进程。
线程,排队??? 怎么搞,多谢!!!!!
static int iCount = 50;
bool Get()
{
return Interlocked.Increment(ref iCount) < 50;
}
void Reset()
{
Interlocked.Exchange(ref iCount,0);
}
静态变量存储数量,然后加锁。可能会影响请求响应速度,但是感觉在你这个量级,应该问题不大。