我想请问下大家在真实的项目中是如何处理并发事务的
解决方案 »
- 求助:怎么获取新浪的CONSUMER_KEY 和CONSUMER_SECRET
- request.getRequestDispatcher(url).forward(request, response)
- Criteria的一个问题
- 这种数据结构怎么实现最好
- java天下 javaw.zhan.cn.yahoo.com 值得一看
- spring+dwr整合的问题
- 紧急求助:Hibernate2+ORACLE 9i奇怪问题
- 新手请教Jetty的一些基础问题【高分】
- 关于LinkedBlockingQueue和ArrayBlockingQueue不同之处的疑惑
- Could not initialize class com.mchange.v2.c3p0.ComboPooledDataSource
- 哪些人适合做(白盒子)测试 哪些人适合做维护呢?
- 快递公司是否有接口之类的功能
缺点:比如某个用户,在锁住某张表的时候去干别的事情了,那么在他干别的事情这段时间内,别人是无法再操作这张表的。
乐观锁,其实不是锁,只是一种冲突的解决机制,通常是在每张表中加入一个字段,可以是version也可以是timestamp。就拿version举例,意思就是某张表不是有可能被多个用户同时操作么,那你们都去操作吧,但是每个用户操作完表后,version都会加1(在oracle数据库中version这个字段是数据库帮我们维护的),其他用户再想保存数据,数据库就会检测version字段,如果你当初你取得的version比现在数据库中的version值小于或等于,就不允许你保存,这就是乐观锁。
缺点:比如,有个用户在界面中填写了非常多的信息,但是保存的时候出现乐观锁的问题,那么给用户的体验性就不好。