同一时间的n个请求,一次只能处理m个,分n/m次处理
如同标题:同一时间的n个请求,一次只能处理m个,分n/m次处理
好比同一时间服务器接收到100个客户端的同一类型请求,服务器一次限制处理10个请求。分10次来处理。这个问题怎么实现啊?用什么方法比较好啊。
就拿网站查话费来说:同一时间100个用户登录网站查话费,服务器只能10个10个的去处理用户发送的请求。
------解决方案--------------------用单例模式,记录排队的人数,static count=0;
int n=10;
有人进来就
PD:
if(count<n)
{
lock(_lock){
if(count<n)
{
count++;
//这里是处理
count--
}
else{
System.Threading.Thread.Sleep(800)//等待多少秒
goto PD;
}
}
else{
System.Threading.Thread.Sleep(1000)//等待多少秒
goto PD;
}
------解决方案--------------------
为什么不用并发呢