悲观锁与乐观锁是为了解决不可重复读的问题吗?
1.如果是:
mysql的默认隔离级别是repeatable-read,是没有不可重复读的问题的,是不是就需要用悲观锁与乐观锁了?也就是说,当设置的隔离级别存在不可重复读的问题时,程序里就要用悲观锁或乐观锁来解决?2.如果不是:
那是干嘛用的?有点模糊。。
1.如果是:
mysql的默认隔离级别是repeatable-read,是没有不可重复读的问题的,是不是就需要用悲观锁与乐观锁了?也就是说,当设置的隔离级别存在不可重复读的问题时,程序里就要用悲观锁或乐观锁来解决?2.如果不是:
那是干嘛用的?有点模糊。。
解决方案 »
- Unable to load class [com.sun.net.ssl.internal.ssl.SunJSSE_i]...
- JavaEE的版本问题
- Weblogic9下链接informix时,出现statement cache异常!
- SpringMVC和Struts是否有类似的作用?
- JXL读取EXCEL的问题
- 请问hibernate配置!
- 谁用过JMSN来开发JAVA的MSN应用啊?为什么现在登陆不了,出现911错误?
- 一个初学者的Tomcat5的配置问题,清高手帮忙!
- hibernate的one-to-one的问题
- JPA为何自己写JPQL的时候要加@Transactional
- sqlsession为啥不能作为全局变量?
- mybatis+oracle百分号被当成普通字符串了
我和楼主用同一张银行卡,我们同时查询:卡上余额200元,这时,楼主没关浏览器,去厕所了。
我执行取款100元(此时就是悲观锁定),楼主回来了,再查询,发现只有100元了,一般会报错。
数据不整合,脏读了。 什么是乐观锁呢? 这时我们需要在再加一个version字段,数据类型为timestamp,我取款就会更新
这个字段精确到毫秒级。这个字段就是乐观锁。