校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > CAS和乐观锁
题目

乐观锁和悲观锁的理解及如何实现,有哪些实现方式?

解答

乐观锁是每次操作时不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。
悲观锁是会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。
乐观锁可以使用volatile+CAS原语实现,带参数版本来避免ABA问题,在读取和替换的时候进行判定版本是否一致;
悲观锁可以使用synchronize以及Lock。

C 0条回复 评论

帖子还没人回复快来抢沙发