Java多线程 锁的分类 你该知道的锁类型!!!

java基础(jdk1.8)

**

多线程—锁的类型

**

此篇博客主要讲线程间状态
本篇链接

锁的分类

以下分类由锁的性质分类

  • 乐观锁/悲观锁
	乐观锁总认为不会出现多线程安全问题,则不加锁,使用CAS来处理
	悲观锁总认为多线程操作会出现问题,所以多线程操作直接加互斥锁

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1VGHxtBr-1593345058653)(##)]

  • 独享锁/共享锁

独享锁:一个线程可用
共享锁:可用多个锁同时使用

  • 互斥锁/读写锁

互斥锁:
读写锁:分为读锁和写锁,将读写分离

  • 可重入锁

获取到对象锁时,再次申请该对象锁,依然可以申请到

  • 公平锁/非公平锁

公平锁为等待线程哪个等待时间长cpu空出来则先执行

  • 分段锁

执行任务时将任务进行分段,需要所有线程将一段任务执行完同时进行下一段任务

扩充:synchronized(jdk1.6优化过后的实现形式)
使用锁升级来实现
偏向锁—>自旋锁/轻量级锁–>重量级锁(锁升级、锁膨胀)


有兴趣的关注我的公众号,一起学习交流啊
在这里插入图片描述

上一篇 》线程间状态及转换


下一篇 》volatile、原子类及synchronized使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值