试题
考点

专业课-操作系统-锁-悲观锁、乐观锁

面5笔5

乐观锁一定就是好的吗?

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

乐观锁认为对一个对象的操作不会引发冲突,所以每次操作都不进行加锁,只是在最后提交更改时验证是否发生冲突,如果冲突则再试一遍,直至成功为止,这个尝试的过程称为自旋。

乐观锁没有加锁,但乐观锁引入了ABA问题,此时一般采用版本号进行控制;
也可能产生自旋次数过多问题,此时并不能提高效率,反而不如直接加锁的效率高;
只能保证一个对象的原子性,可以封装成对象,再进行CAS操作;

评论

加载更多