面试--乐观锁,悲观锁

悲观锁与乐观锁

悲观锁:悲观锁思想认为如果多个线程中使用共享资源,则它们肯定会同时进行修改从而引起冲突,悲观锁的解决方式是共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程。synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。

乐观锁:乐观锁思想认为如果多个线程使用共享资源,它们修改应该是有先后顺序的,不会同时进行修改,如果真的有冲突则后面修改失败。乐观锁的解决方式是共享资源可以由多个线程同时访问修改,对于冲突失败,让其重试直到成功即可。

猜你喜欢

转载自blog.csdn.net/lettyisme/article/details/80738854