JAVA -多线程-什么是java中的公平锁呢,死锁概念

一、公平锁

       锁这个东西,锁住之后,如果有100个进程,是不是都要等这个锁解开呀,那么什么叫做公平锁呢,就是先来先到,比如A线程先来等,那就是当锁解开以后,A线程先来执行,有这么一个排队的流程。

二、非公平锁

        不公平的锁通俗来说,就是所有线程嘎一块抢,锁一解开,谁抢到谁先执行,相当于,一锅饭所有人一起吃,一起抢肉的感觉。

那么java三种处理方式:同步代码块、同步方法都是非公平的锁,而Lock默认是非公平的

三、如何设置公平锁

同步代码块与同步方法都是非公平的锁,无法设置公平锁

但Lock显示锁可以在构造方法中填入true以此来设置公平锁

四、死锁概念

        可以理解为,现在有两个人,一个叫张三,一个叫王五,要去买衣服,为了试衣服,同时进了A跟B两个试衣间,

此时张三觉得A试衣间好脏,想换到B试衣间去,但是他发现B试衣间是有人的锁住的状态,于是就在这里等B试衣间释放,

但王五觉得B试衣间好多水,想换到A试衣间,可他也发现A试衣间还有人,所以就在这里等A试衣间释放。

这个时候两个人都在等对方出来,这个时候就出现了死锁问题。

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值