并发N个线程去修改同一表的同一字段,在加了事务的情况下能不能保证数据库的数据正确。
比如A表的b字段值为1,同时并发100个线程并且是分布式应用,50个将b字段+1,另外50个将b字段-1,会不会造成b最终不等于1呢?
比如A表的b字段值为1,同时并发100个线程并且是分布式应用,50个将b字段+1,另外50个将b字段-1,会不会造成b最终不等于1呢?
解决方案 »
- myeclipse6.5 cvs同步时报错
- java在什么情况下需要用方法重载呢?用方法重载的好处和弊端分别是神马嘞?
- 怎样创建一个带参数的存储过程 oracle
- could not initialize a collection 错误
- struts2为什么不显示结果
- 求java开发高手解答
- 论坛的引用是如何弄的
- Tomcat5.0+jdk1.4配置servlet问题,看了很多帖子,死活看不出问题,只好向各位请教了
- 使用过对象系列化的各位师兄师姐进来帮我解答一个小问题
- 新手提出来问,来者有分,关于我在记事本写的东东,运行有错!!在线等!!急!!!
- 在线等高手!!!求解
- S2SH全注解报错问题,高手进来看下
Update TABLE Set b = b + 1 Where ID = 123123这种即便Spring不做事务控制,也肯定是正确的,因为大多数数据库默认的事务隔离级别就能保证。
事务应该是没错的,因为修改数据后如果抛出异常,它不会提交。修改数据的时候我用的都是spring默认的事务配置,只设定了回滚异常和事务超时时间。
确实多余,行锁就够了。如果你的场合无法将操作下推数据库,就用 Select xxxx For Update 这种行锁就行了,不过你直接声明事务也可以的。
因为是分布式应用,所以程序同步并不能保证数据的有效性,但是都使用了spring的事务,事务是数据库的功能,只要使用了事务,不同的应用操作同一个数据库,应该是可以保证数据有效性的哦?
因为是分布式应用,所以程序同步并不能保证数据的有效性,但是都使用了spring的事务,事务是数据库的功能,只要使用了事务,不同的应用操作同一个数据库,应该是可以保证数据有效性的哦?
因为是分布式应用,所以程序同步并不能保证数据的有效性,但是都使用了spring的事务,事务是数据库的功能,只要使用了事务,不同的应用操作同一个数据库,应该是可以保证数据有效性的哦?