做一个售货机轮询的接口。
为了减少售货机的流量,需要在轮询时,如果未查到需要返回的数据时,
则要延时一段时间后再返回false,避免产生过多的轮询访问。
因为售货机是第三方的,只能控制接口返回时间来做这个限制。
然后之前我是直接写的look锁
if (SlotNos.SlotNo == "0"){
lock (string.Intern(SlotNos.MachineID))
{//如果轮询为空,则延时10秒再返回
Thread.Sleep(10000);
return TJson(new { Status = 0 });
}
}
SlotNos.MachineID 这个是售货机编号 SlotNo是需要操作的货道号。
如果没有需要操作的货道号 我就延时返回结果
想问下 这么写会有问题吗? 如果这时候售货机有其他请求进来,会有影响吗
或者是会影响这个接口被其他售货机 或者被锁住的这台售货机访问吗?