社区
基础编程
帖子详情
问一个关于时间控制的典型问题
helloha2013
2012-07-26 01:17:29
业务关于一个抢先发言的问题,假设有1000个用户,5秒钟内抢先发言,且只能有一个人发言;5秒后谁也不能发言
由于客户要求,不能使用session
我是这样处理的
数据库中建立一个发言表tableWords,如果有第一个用户要抢先发言则,添加一条记录,之后其他的用户在抢发言,如果表中有记录,则不让发言;
这样做似乎没有问题,但考虑到并发的情况,很有可能1000个用户中有多个人在同一毫秒都执行了insert 操作,,如何只让一个用户insert了?
...全文
90
4
打赏
收藏
问一个关于时间控制的典型问题
业务关于一个抢先发言的问题,假设有1000个用户,5秒钟内抢先发言,且只能有一个人发言;5秒后谁也不能发言 由于客户要求,不能使用session 我是这样处理的 数据库中建立一个发言表tableWords,如果有第一个用户要抢先发言则,添加一条记录,之后其他的用户在抢发言,如果表中有记录,则不让发言; 这样做似乎没有问题,但考虑到并发的情况,很有可能1000个用户中有多个人在同一毫秒都执行了insert 操作,,如何只让一个用户insert了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
helloha2013
2012-07-26
打赏
举报
回复
显然这样我就该给分了。
amani11
2012-07-26
打赏
举报
回复
事务 文件锁 信号量锁等,用来判断用户发言资格
还可以依靠数据库唯一索引,字段可以由话题id?等指定,总之要唯一,显然这样就符合你的需求了
helloha2013
2012-07-26
打赏
举报
回复
你说的我知道,我说的详细点:
考虑最简单的情况,数据库中没有记录。
判断的伪代码如下:
$count=mysqlq("select count(id) from tableWords ");
if($count<1) {
//假设开始抢的过程中,有10个用户都进入了这个条件分支,尽管有排队,不就都insert 了吗?
insert into tableWords()values(...);
}
xuzuning
2012-07-26
打赏
举报
回复
你的这个担忧是多余的
哪怕是同一微秒这1000个用户都发出了请求,在第一时刻也只有一个用户的请求被响应,其他的只是在排队
JavaWeb外卖点餐系统
典型
模块开发
是针对外卖点餐系统
典型
模块开发,从
一个
项目开发 的基本流程讲起,首先了解项目需求,然后选定项目框架选择、规范项目要求、命名规则等,最后根据模块需求展开开发工作。 项目主要技术:(UI层--Bootstrap+jquery,...
自动
控制
系统的
典型
环节
自动
控制
系统是由不同功能的元件构成的。从物理结构上看,
控制
系统的类型很多,相互之间差别很大,似乎没有共同之处。在对
控制
系统进行分析研究时,我们更强调系统的动态特性。具有相同动态特性或者说具有相同传递...
自动
控制
原理(4)——传递函数、
典型
环节的传递函数
自动
控制
原理(4)——传递函数、
典型
环节的传递函数 微分方程模型 优点:是
时间
域的数学模型,比较直观,它用
时间
域的方式,描述系统输入和输出变量之间的关系 在给定初始条件和输入信号后,借助计算机可以...
最优
控制
学习笔记——最优
控制
问
题
基本组成
一个
最优
控制
问
题
通常包括四方面内容: 被控对象数学模型 边界条件与目标集 容许
控制
性能指标 二、被控对象数学模型 一般被控系统可描述为:x˙=f(x(t),u(t),t), t∈[t0,tf]\dot \bm x=f(\bm x(t),\bm...
自动
控制
系统中的
典型
环节
自动
控制
系统中
典型
环节比例环节惯性环节积分环节微分环节震荡环节 比例环节 惯性环节 积分环节 微分环节 震荡环节
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章