Livelock
活锁是线程不断改变状态响应对方但无进展,虽未阻塞但无法完成任务。
用途
理解活锁与死锁的区别及防御,是并发程序进展性缺陷。
机制
线程互相谦让(如都释放锁让对方先取)导致无线程获取资源。与死锁不同:线程活跃但无进展。防御:随机退避、优先级、限制重试。
用例
- 并发进展性分析
- 活锁检测
- 并发设计
活锁是线程不断改变状态响应对方但无进展,虽未阻塞但无法完成任务。
理解活锁与死锁的区别及防御,是并发程序进展性缺陷。
线程互相谦让(如都释放锁让对方先取)导致无线程获取资源。与死锁不同:线程活跃但无进展。防御:随机退避、优先级、限制重试。