博客
关于我
2020-07-15:死锁与活锁的区别,死锁与饥饿的区别?
阅读量:269 次
发布时间:2019-03-01

本文共 375 字,大约阅读时间需要 1 分钟。

福哥答案2020-07-15:

死锁:是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。

产生死锁的必要条件:
1、互斥条件:所谓互斥就是进程在某一时间内独占资源。
2、请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
3、不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。
4、循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
活锁:任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试,失败,尝试,失败。
活锁和死锁的区别在于,处于活锁的实体是在不断的改变状态,所谓的“活”, 而处于死锁的实体表现为等待;活锁有可能自行解开,死锁则不能。
饥饿:一个或者多个线程因为种种原因无法获得所需要的资源,导致一直无法执行的状态。


转载地址:http://eqmo.baihongyu.com/

你可能感兴趣的文章
夜光带你走进JavaScript(五十二)擅长的领域
查看>>
夜光带你走进JavaScript(五十四)擅长的领域
查看>>
夜光带你走进JavaScript(五十五)擅长的领域
查看>>
Java工程师培训课(十三【可以坚持看完前十二章说明毅力尚可~~】)
查看>>
Java工程师培训课(十七【新的领域】)
查看>>
夜光带你走进 Ajax(四)
查看>>
夜光带你走进python开发 (五)传奇语言
查看>>
夜光精讲 Opentcs 三大算法(二)任务分配算法
查看>>
夜光精讲 Opentcs 三大算法(十三)调度算法
查看>>
夜光精讲 Opentcs 通信系统
查看>>
夜光:基于 SpringMVC 框架的图片视频库系统的设计与实现 (一)
查看>>
夜光:计算机网络笔记(七)
查看>>
夜光带你走进 C语言(五十八)
查看>>
夜光带你走进 C语言(八十五)
查看>>
python作业之JSON数据的处理
查看>>
Aid Learning0.87F3安装vue.js
查看>>
Springboot添加log4j日志
查看>>
Could not resolve host: mirrorlist.centos.org; 未知的错误
查看>>
导入工程时出现错误
查看>>
第一章:QT的概述
查看>>