博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#中lock的使用(用于预约超出限额的流程)
阅读量:6195 次
发布时间:2019-06-21

本文共 371 字,大约阅读时间需要 1 分钟。

一个项目,预约系统,核心二张表:预约表,预约限额表

用户点击预约按钮后,

1. 先select 预约限额表把该预约时间段的限额取出来, 

2. 再select 预约表把该预约时间已经预约上的次数算出来

3. 第一步减第二步,得到是否还能进行预约,大于0就可以预约了

4. 第三步里大于0的话就insert 预约表

之前的代码都是用ado.net+sql语句执行的,然后在正式运行的时候,每天18点可以进行预约,然后我设置了某一时间段是可以预约1个,

结果在18点的时候N个人点了预约,导致计算出预约数后想插入之前,另一个人又来计算预约数了,导致超出限额了

问了下网友,给了三种解决方案:

1. redis

2. c#里的lock

3. c#里的ConcurrentQueue

 

自己 测试了一下,用第二种 ,成功了,

 

第三种的话网友也给了个示例:

转载地址:http://jhuca.baihongyu.com/

你可能感兴趣的文章
变量应用:页面传Axure变量值
查看>>
curator教程二——分布式锁
查看>>
MathType输入框怎么调整
查看>>
Leetcode 28 实现strStr()
查看>>
201621123048《Java程序设计》第八周学习总结
查看>>
总结一些常用功能源码
查看>>
jstat 监控调整GC很好用
查看>>
bootstrap-table教程演示
查看>>
编译Chromium
查看>>
共享文件远程读写 经常会出现 提示多重连接的问题
查看>>
upc组队赛18 THE WORLD【时间模拟】
查看>>
ElasticSearch6.3.2------入门
查看>>
HBase工具之监控Region的可用和读写延时状况
查看>>
问题-[Delphi]SendMessageTimeout调用后卡住点击任务栏还会出现窗体处理
查看>>
IE-首页跳转到 q160的问题解决
查看>>
TableViewCell重影问题
查看>>
阿里云服务器搭建视频
查看>>
基于lucene实现自己的推荐引擎
查看>>
https请求过程
查看>>
java 数据库连接池
查看>>