悲观锁(防止并发修改) 当我们要对一个数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。
这种借助数据库锁机制在修改数据之前先锁定,再修改的方式被称之为悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC”)。
乐观锁与悲观锁的区别 保证数据安全,处理多用户bai并发访问。 悲观锁,锁du如其名,他对世界是zhi悲观的,他认为别人访问正在改变的数dao据的概率是很高的,所以从数据开始更改时就将数据锁住,知道更改完成才释放。 乐观锁,他对世界比较乐观,认为别人访问正在改变的数据的概率是很低的,所以直到修改完成准备提交所做的的修改到数据库的时候才会将数据锁住。完成更改后释放。 悲观锁会造成访问数据库时间较长,并发性不好,特别是长事务。 乐观锁在现实中使用得较多,厂商较多采用。
一个是修改前先获得锁将数据锁住,在进行修改和提交(多用于写多杜少的情况),另一个是先进行修改,提交的时候获得锁并锁住数据(多用于读多写少的情况)。