不想建很多的表,我设计这样的表
id title option
投票的题目 选项1@20#选项2@30#选项3@50 代表这样一个投票
标题
选项1 已投20票
选项2 已投30票
选项3 已投50票处理的时候用String.split方法割出来,然后把它后面跟的数字加1,再写回到数据库里。
现在遇到的问题是
假设俩人同时投票,同时投了选项1
这两个人读出来的内容是一样的,也就是option这个字符串是一样的。同时加1以后,没有达到俩人都投票的目的。请问怎么解决这个并发问题,就是第1个人读表的内容,别人就不能读了。
或者说让你的系统把request顺序处理,就象排队一样不考虑性能,只为学习,使用的框架是Struts2,Spring 2.5.JPA (hibernate)
id title option
投票的题目 选项1@20#选项2@30#选项3@50 代表这样一个投票
标题
选项1 已投20票
选项2 已投30票
选项3 已投50票处理的时候用String.split方法割出来,然后把它后面跟的数字加1,再写回到数据库里。
现在遇到的问题是
假设俩人同时投票,同时投了选项1
这两个人读出来的内容是一样的,也就是option这个字符串是一样的。同时加1以后,没有达到俩人都投票的目的。请问怎么解决这个并发问题,就是第1个人读表的内容,别人就不能读了。
或者说让你的系统把request顺序处理,就象排队一样不考虑性能,只为学习,使用的框架是Struts2,Spring 2.5.JPA (hibernate)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货