《吊打面试官》系列-乐观锁、悲观锁

2022-02-17 15:40:39 浏览数 (3)

前言

关于线程安全一提到可能就是加锁,在面试中也是面试官百问不厌的考察点,往往能看出面试者的基本功和是否对线程安全有自己的思考。

那锁本身是怎么去实现的呢?又有哪些加锁的方式呢?

我今天就简单聊一下乐观锁和悲观锁,他们对应的实现 CAS ,Synchronized,ReentrantLock

正文

一个120斤一身黑的小伙子走了进来,看到他微微发福的面容,看来是最近疫情伙食好运动少的结果,他难道就是今天的面试官渣渣丙?

等等难道是他?前几天刷B站看到的不会是他吧!!!

Tip:比较 更新 整体是一个原子操作,当然这个流程还是有问题的,我下面会提到。

他是乐观锁的一种实现,就是说认为数据总是不会被更改,我是乐观的仔,每次我都觉得你不会渣我,差不多是这个意思。

锁其实有很多,我这里只是简单的介绍了一下乐观锁和悲观锁,后面还会有,自旋锁,自适应自旋,公平锁,非公平锁,可重入(文中提到的都是可重入),不可重入锁,共享锁,排他锁等。

多去了解他们的用法,多去深究他们的原理以及实现,我后面会持续更新多线程方面的知识点。

0 人点赞