目录
- 面试官:死锁、活锁、饥饿的区别
- 死锁(Deadlock)
- 活锁(Livelock)
- 饥饿(Starvation)
- 面试官:Java 中导致饥饿的原因有哪些
- 思维导图
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点
面试官:死锁、活锁、饥饿的区别
死锁是线程间的相互等待,
活锁是线程间的无效循环,
而饥饿是线程无法获得资源。
解决这些问题通常需要合理设计资源分配策略、避免循环等待和确保资源的公平分配。
死锁(Deadlock)
死锁是指两个或多个线程在执行过程中,因争夺资源而造成的一种互相等待的状态,若无外力作用,它们都将无法继续执行。死锁的四个必要条件是:互斥条件、请求与