温馨提示×

java中常见的锁有哪些

养鱼的猫咪
897
2021-04-17 19:22:44
栏目: 编程语言

java中常见的锁有:1.乐观锁;2.悲观锁;3.自旋锁;4.偏向锁;5.公平锁;

java中常见的锁有哪些

java中常见的锁有以下几种

1.乐观锁

java中乐观锁是一种乐观思想,总认为资源和数据不会被修改,并不会对数据进行上锁,但进行写入操作的时会判断数据是否被修改。

2.悲观锁

java中悲观锁是一种悲观思想,总认为会出现最坏的情况,会在持有数据的时将资源或数据锁住,导致其他线程需要请求资源时会造成阻塞。

3.自旋锁

java中自旋锁是指当一个线程在获取锁时,若锁已被其它线程获取,该线程将会循环等待,直到获取到锁才会退出循环。

4.偏向锁

java中偏向锁是指一段同步代码一直被一个线程访问,那么该线程会自动获取锁,从而降低获取锁的代价。

5.公平锁

java中公平锁是指多个线程按照申请锁的顺序来获取锁,只有线程进入队列排队,且队列中的第一个线程才可以获得锁。

0