- 等级
- 装修工人
- 等级进度
-
- 积分
- 166
- 阅读权限
- 40
- 主题
- 精华
- 社区币
- 星梦
- 注册时间
- 2008-10-27
- 最后登录
- 1970-1-1
|
哩个应该系并发线程问题 同时有5个人抢红包就会甘 之前民航都试过一张机票卖比2个人拉! \6 n: Y$ l) b7 u. U. `1 G
哩个系数据库既并发锁问题。。。。厄 撤远了: k- K3 H+ B- T' s% }# c% q, b- X9 j
我估计会系甘既原因
/ ?- o+ P# `! @, r) E
6 J) ]: p! h1 S, d1 T 开始 H* t, E8 Q; _ R1 n
a申请红包 开始
- q% t& H) s3 |$ N5 o检查剩余红包数大于1 b申请红包
0 p, c. u4 q: c3 d产生随机星梦写入个人账户 检查剩余红包数大于1 ) O6 H) I8 s+ g4 G7 F; m* Q# L
剩余红包数-1 产生随机星梦写入个人账户
1 v* ?: f' x3 d/ v! q2 A 完成 剩余红包数-1$ v% v% h0 Q4 I; h$ Q3 I
完成
8 W) f/ A: o# @* }7 b; L3 A6 o$ d4 h ( D- Y/ P/ ~0 B1 T" {
% ]; O, m8 }' n- A, v" ?6 h4 |
以上同一行代表同时产生既事件 睇明就知道点解星梦会负数。。。。虽然服务器处理既事件可能号短 不过哩个空档确实存在 就可能会产生红包数系负数,解决表面问题既方法系加个check约束比红包剩余数必须大于等于0,不过仍然多拿 不过显示上再冇问题,真正解决方法 系将成个过程做成存储过程,然后运行存储过程之前加锁。。。。。。 |
|