为了账号安全,请及时绑定邮箱和手机立即绑定

为什么线程中的locke 没有锁住呢

为什么线程中的locke 没有锁住呢

翻过高山走不出你 2018-07-30 06:09:22
详见下面的代码:测试代码:结果:success订单正在处理中……success订单正在处理中……订单正在处理中……订单正在处理中…… 请教大神们这是什么原因呢?
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

lock (asynclocker) { bool isExists = processingOrders.Find(s => s.ToLower().Trim() == orderid.ToLower().Trim()) == null; if (isExists) { processingOrders.Add(orderid.ToLower().Trim()); } return isExists; }

 这是作用域,执行完那么asynclocker 就Exit()了;

你还想怎么锁 —— 不让第二次执行?不让第二次执行,你只需要拿个静态变量累加并判断。


查看完整回答
反对 回复 2018-08-25
  • 1 回答
  • 0 关注
  • 622 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信