我在做一个discuz的抢楼插件,该插件主要功能是能在抢楼贴中设置指定用户出现在指定楼层
这是实现步骤
1.正常用户回帖后得到tid和pid
2.查询该回帖的楼层号
3.如果该楼层号存在预设的楼层内,则将该楼层的数据提取到临时变量中,将该楼层的内容和UID替换成预设内容
4.将临时变量内容以新回帖的方式插入到回帖表中,并获取新回帖的pid和楼层号
5.如果新回帖的楼层号在预设楼层内 循环第三步,否则跳出循环
这个方法测试的时候一个人慢慢抢楼的时候没任何问题,但是人一多的时候 就不正常了 要么设置的用户未出现在指定楼层,要么连续出现在两个楼层。我怀疑是我没考虑到高并发动情况下,亦或者是我上面的步骤是错的。
所以想请教下有经验的前辈,这种情况该如何处理?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
有可能造成影响,而且是很有可能造成影响。这也就是所谓的“一粒老鼠屎坏了一锅汤”。不少的DBA都遇到过类似问题,就是一台服务器上的多个应用数据,由于其中一个应用的程序编写问题,导致这台服务器上所有应用都受到牵连。不过按照你的描述,如果只是A1的死锁,那么A2是不会有问题的。但如果是是A1有太多的表扫描或者复杂运算导致资源紧张,那是会影响到A2的。 数据库的并发一般都是指整个服务器的并发,不论这个数据库服务器上有几个库
答案来源于网络