阻塞型锁

1 死锁(deadlock)

   概念: 多个线程互相等待多方释放资源而一直没有执行

     一般来说,要出现死锁问题需要满足以下条件:

        1. 互斥条件:一个资源每次只能被一个线程使用。

        2. 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。

        3. 不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。

        4. 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

只要破坏死锁 4 个必要条件之一中的任何一个,死锁问题就能被解决。

 2 活锁(livelock): 多个线程都释放资源给别的线程使用,导致没有线程拿到资源而正常执行

 3 优先级反转(priority inversion) :一个或多个线程因为种种原因无法获取所得的需要资源,导致一直无法执行。导致的原因往往是当前线程优先级不高导致没有资源,或某线程一直占着关键资源不放

 

转载于:https://my.oschina.net/u/728453/blog/1593001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值