猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
为什么线程中的locke 没有锁住呢
详见下面的代码:
测试代码:
结果:
success
订单正在处理中……
success
订单正在处理中……
订单正在处理中……
订单正在处理中……
请教大神们这是什么原因呢?
翻过高山走不出你
浏览 623
回答 1
1回答
狐的传说
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()了;你还想怎么锁 —— 不让第二次执行?不让第二次执行,你只需要拿个静态变量累加并判断。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续