比喻行锁、表锁、读写锁等悲观锁线程安全2、乐观锁:很乐观每次操作数据不会上锁,悲观锁:很悲观每次操作数据前会上锁,每次去拿数据的时候都认为别人不会修改,每次去拿数据的时候都认为别人会修改,悲观锁会造成访问数据库时间较长,什么是乐观锁,什么是悲观锁-简书所谓的乐观所或者是悲观所其实是一个比较抽象的概念,悲观锁和乐观锁的用处和区别用处:保证数据安全,直到修改完成准备提交所做的的修改到数据库的时候才会将数据锁住。
悲观锁和乐观锁的用处和区别
用处:保证数据安全,处理多用户并发访问。
区别:
悲观锁,从数据开始更改时就将数据锁住,知道更改完成才释放。乐观锁,直到修改完成准备提交所做的的修改到数据库的时候才会将数据锁住。完成更改后释放。
悲观锁会造成访问数据库时间较长,并发性不好,特别是长事务。乐观锁在现实中使用得较多,厂商较多采用。
mysql什么是悲观锁和乐观锁
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库如果提供类似于write_condition机制的其实都是提供的乐观锁。
什么是乐观锁,什么是悲观锁-简书
所谓的乐观所或者是悲观所其实是一个比较抽象的概念,一个人在有一件事情触发或者是被一件事情所触动的时候,他就会开始变得悲观或者乐观,这就是所谓的锁。
多线程之乐观锁,悲观锁,哪个线程安全
1、悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁:很悲观每次操作数据前会上锁。比喻行锁、表锁、读写锁等悲观锁线程安全2、乐观锁:很乐观每次操作数据不会上锁,更新的时候使用版本号等机制判断数据是否被修改。适用于写比较少的情况,省去了锁开销,加大系统的吞吐量