Java中锁常见的五中分类:
1 悲观锁/乐观锁
2 公平锁/非公平锁
3 自旋锁/重入锁
4 重量级锁/轻量级锁
5 独占锁/共享锁
公平锁:其实就是指的请求锁的线程是有序的,并且是顺序排列的,先来的先获取锁,后来的后获取锁,使用队列来存放。
非公平锁:就是指请求锁的线程是无序的,通过争抢的方式来获取锁,有可能出现有一个线程一直获取到锁的情况。
非公平锁要比公平锁效率高,Synchronized是非公平锁。
这里提到一个知识点,在操作系统中CPU的调度算法有一种分类方式:抢占式和非抢占式。
锁的可重入性:在同一个线程中锁是可以在方法间进行传递的,可以直接获取锁。
Java中的锁都有哪些分类?什么是公平锁?什么是非公平锁?锁的可重入性是什么?
最新推荐文章于 2023-06-20 19:58:57 发布