理论一些收藏

坚持打卡学习第十九天——多线程二(锁了解)

2022-01-04  本文已影响0人  去追星星
乐观锁与悲观锁
独占锁和共享锁
互斥锁和读写锁
公平锁和非公平锁
可重入锁(递归锁)

统一线程在外层方法获取了锁,进入内层会自动获取锁,synchronized和ReentrantLock是可重入锁,可重入锁可以一定程度避免死锁

自旋锁

线程没有获取锁的时候不被挂起,而是执行忙循环,目的是减少线程被挂起的几率,但另一线程长时间占用锁,线程自旋之后还是会挂起,因此,自旋锁不适用于所占用时间长的场景

分段锁

不是具体的锁,是一种锁的设计,目的细化锁的粒度,CurrentHashMap 底层就用了分段锁,使用Segment,因此可以并发使用

上一篇 下一篇

猜你喜欢

热点阅读