ikki@github.io:~$

带薪那啥悟出的锁的原理

带薪 ** 悟出的锁的原理

前段时间,带薪 ** 的事再次被热议,可恰恰是利用带薪** 的时间,想明白了常见的各种说的原理。

是 处理并非问题经常用到的工具之一,关于常见的锁的分类和使用场景,下面结合带薪** 一 一给大家介绍。

悲观锁

​ 要想带薪**,首先我们要找到一个没有人的坑位,但是坑位门上是关着的,我们并不知道坑位是否被别人占着,所以进坑之前,得先礼貌的问一句 “有人么?” (尝试加锁),如果我们收到了回应(加锁失败),则放弃此坑位;如果没有收到回应(加锁成功),这意味着资源可用 。这一套操作需要反复问询,特别耗费时间(性能低)。

乐观锁

​ 为了解决性能低下的问题,物业将坑位的门设计成自动打开的,需要有人在里面并手动关上。每一位使用者都希望 门是开着 (期望的状态),而且,也避免了资源使用者的 访问效率低下的问题。

死锁

有时候,遇到两个人抢同一个坑位,两个人都不谦让,都希望对方把资源让给自己,结果两个人都没有好下场。

活锁

有时候,遇到两个人都很礼貌:”我不急,你先请”, 结果谦让半天,最后也都没有好下场。

不公平锁

在坑位有限的情况下,有一些人总是抢不到坑位,有时候会发生惨烈的爆炸的事件。

公平锁

为了保证所有人都能痛快的释放,不至于发生惨烈事件,大家都排起了队伍(队列),以确保所有人都有机会。

分段锁

办公楼每一层都有厕所,每一层的员工抢坑位互不影响。

可重入锁

有些人没有安全感,进入坑位后,自己又加装了几把锁,但是同样的,这些锁需要他自己释放,