一、锁机制分为悲观锁和乐观锁理解:悲观锁:对数据保持一种比较悲观的想法,数据肯定会出现冲突(多个线程操作一条数据),在处理数据时,将数据锁住,防止其他操作。乐观锁:  与悲观锁持相反的态度,一般认为数据不会冲突,一般是在数据进行提交更新的时候才进行判断是否允许修改。二、具体实现方式实现:悲观锁:select * from user where name= 'tony' for update乐观锁:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-05 19:46:54
                            
                                180阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            理解:乐观锁与悲观锁 乐观锁:每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间有没有人去更新过这个数据。悲观锁:每次去拿数据的时候都认为别人会修改,所以每次去拿数据的时候都会上锁。实现:一、悲观锁 1、排它锁,当事务在操作数据时把这部分数据进行锁定,直到操作完毕后再解锁,其他事务操作才可操作该部分数据。这将防止其他进程读取或修改表中的数据。 2、实现:大多数情            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-09 20:59:32
                            
                                130阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、概念乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。悲观锁:悲观锁在操作数据时比较悲观,认为别人会同时修改数据。因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其他人不能修改数据。二、实            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-09 17:48:39
                            
                                133阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            (1)概念  悲观锁,正如其名,具有强烈的独占和排他特性。它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。  乐观锁机制采取相对悲观锁而言,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-12-29 22:53:26
                            
                                462阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            乐观锁:乐观锁的特点先进行业务操作,不到万不得已不去拿锁。即“乐观”的认为拿锁多半是会成功的,因此在进行完业务操作需要实际更新数据的最后一步再去拿一下锁就好。乐观锁是否在事务中其实是无所谓的。悲观锁:悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。通常来讲在数据库上的悲观锁需要数据库本身提供支持,即通过常用的select … for update操作来实现悲观锁。当数据库执行select for update时会获取被select中            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-05 00:04:37
                            
                                897阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            乐观锁是基于假设每次拿数据的时候别人都不会修改,而悲观锁则正好相反。 所以悲观锁在每次拿数据的时候都会上锁,这样其他线程就拿不到这个...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-11-02 01:43:00
                            
                                252阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            转:https://.cnblogs.com/kismetv/p/10787228.html 概念:乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。 乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-04-29 09:00:00
                            
                                142阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            乐观锁与悲观锁            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2020-10-12 11:08:55
                            
                                717阅读
                            
                                                                                    
                                1评论
                            
                                                 
                 
                
                             
         
            
            
            
            1 基本概念 悲观锁就是说,如果共享资源被别的线程占用了,那么其它所有的线程都得sleep等待。 乐观锁是说,弄一个死循环,假如共享资源被别的线程占用了,那么我就再试,死也不等待。 2 实现案例之一 java的AtomicInteger的 incrementAndGet() incrementAnd            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-02-06 14:57:00
                            
                                108阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            目录一、基本概念二、实现方式(含实例)1、CAS(Compare And Swap)2、版本号机制三、优缺点和适用场景1、功能限制2、竞争激烈程度四、面试官追问:乐观锁加锁吗?五、面试官追问:CAS有哪些缺点?1、ABA问题2、高竞争下的开销问题3、功能限制一、基本概念乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。乐观...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-06-11 21:14:05
                            
                                267阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MySQL数据库中乐观锁和悲观锁            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-10-01 12:47:54
                            
                                134阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            悲观锁(Pessimistic Lock)顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock)顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-02 10:37:49
                            
                                176阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            悲观锁可以把悲观锁想成一个很小心的人,无论做什么操作之前,都要去加个锁,这样别人想拿这个数据就会block直到它拿到锁。但是在效率方面,处理加锁的机制会产生额外的开销,还有增加产生死锁的机会。另外如果只有只读事物,这个锁是没必要的。  传统的关系型数据库里边就用到了很多这种锁机制,比如读锁,写锁等,都是在做操作之前先上锁。悲观锁的实现在java中,synchronized就是一种悲观锁的实现。这个            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-11 22:35:12
                            
                                104阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            乐观锁:总是假设最好情况,认为修改数据过程中该数据不会被其他进程修改,不加锁。在修改数据时判断该数据是否被更改,可通过版本号(version)和CAS(compare and swap)实现。在Java中java...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-13 14:20:49
                            
                                166阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、概念悲观锁:总是假设最坏的情况,认为竞争总是存在,每次拿数据的时候都认为会被修改,因此每次都会先上锁。其他线程阻塞等待释放锁。乐观锁:总是假设最好的情况,认为竞争总是不存在,每次拿数据的时候都认为不会被修改,因此不会先上锁,在最后更新的时候比较数据有无更新,可通过版本号或CAS实现。二、两种锁的使用场景悲观锁:用于写比较多的情况,避免了乐观锁不断重试从而降低性能乐观锁:用于读比较多的...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-09-02 16:47:22
                            
                                222阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            乐观锁乐观锁(Optimistic Lock),顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在提交更新的时候会判断一下在此期间别人有没有去更新这个数据。乐观锁适用于读多写少的应用场景,这样可以提高吞吐量。悲观锁悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-01-10 11:56:14
                            
                                326阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            概述:锁的出现是为了保护共享资源的独占性的,避免多个线程同时操作一个共享资源。确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性,乐观锁和悲观锁是并发控制主要采用的技术手段。乐观锁在关系数据库管理系统里,乐观并发控制(又名“乐观锁”,Optimistic Concurrency Control,缩写“OCC”)是一种并发控制的方法。从名字就可以看出来,乐观锁就是很            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-17 20:52:33
                            
                                97阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、乐观锁、悲观锁定义乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。悲观锁:悲观锁在操作数据时比较悲观,认为别人会同时修改数据。因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其他人不能修改数据。二、实现方式悲观锁的实现方式是加锁,加锁既可以是对代            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-14 13:41:09
                            
                                74阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            悲观锁与乐观锁是人们定义出来的概念,你可以理解为一种思想,是处理并发资源的常用手段。不要把他们与MysqL中提供的锁机制(表锁,行锁,排他锁,共享锁)混为一谈。一、悲观锁顾名思义,就是对于数据的处理持悲观态度,总认为会发生并发冲突,获取和修改数据时,别人会修改数据。所以在整个数据处理过程中,需要将数据锁定。悲观锁的实现,通常依靠数据库提供的锁机制实现,比如MysqL的排他锁,select ....            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-08 21:02:16
                            
                                148阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            针对 MySQL的乐观锁与悲观锁的使用,基本都是按照业务场景针对性使用的。针对每个业务场景,对应的使用锁。但是两种锁无非都是解决并发所产生的问题。下面我们来看看如何合理的使用乐观锁与悲观锁何为悲观锁悲观锁(Pessimistic Lock):就是很悲观,每次去取数据的时候都认为别人会去修改,所以每次在取数据的时候都会给它上锁,这样别人想拿这个数据就会block直到它取到锁。比如用在库存增减问题上,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-22 11:30:00
                            
                                315阅读
                            
                                                                             
                 
                
                                
                    