试题
考点

java语言-并发和同步-CAS和乐观锁

面5笔5

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

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

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

文章链接

评论
暂无评论

加载更多