饥饿与死锁
来源:互联网 发布:深入浅出数据分析pdf 编辑:程序博客网 时间:2024/05/23 19:14
饥饿是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。
死锁是指在多道程序系统中,一组进程中的每一个进程都无限期等待被该组进程中的另一个进程所占有且永远不会释放的资源。
相同点:二者都是由于竞争资源而引起的。
不同点:
从进程状态考虑,死锁进程都处于等待状态,忙等待(处于运行或就绪状态)的进程并非处于等待状态,但却可能被饿死;
死锁进程等待永远不会被释放的资源,饿死进程等待会被释放但却不会分配给自己的资源,表现为等待时限没有上界(排队等待或忙式等待);
死锁一定发生了循环等待,而饿死则不然。这也表明通过资源分配图可以检测死锁存在与否,但却不能检测是否有进程饿死;
死锁一定涉及多个进程,而饥饿或被饿死的进程可能只有一个。
在饥饿的情形下,系统中有至少一个进程能正常运行,只是饥饿进程得不到执行机会。而死锁则可能会最终使整个系统陷入死锁并崩溃。
0 0
- 死锁与饥饿[转]
- 死锁与饥饿
- 死锁与饥饿
- 死锁与饥饿
- 死锁与饥饿
- 死锁与饥饿
- 死锁与饥饿
- 饥饿与死锁
- 2.5.2 死锁与饥饿
- 第六章 并发:死锁与饥饿
- 举例剖析线程死锁与饥饿的区别
- 操作系统精髓与设计原理--并发性:死锁和饥饿
- 数据结构(二)饥饿与死锁的区别
- 死锁和饥饿
- 活锁 死锁 饥饿
- 并发:死锁和饥饿
- 活锁,死锁,饥饿
- 线程饥饿死锁
- Android 多线程编程使用方式
- freopen,文件描述符重定向
- PAT A1086. Tree Traversals Again (25)
- SQL高级 第二章 数据库的实现
- springmvc从控制类跳转到html的视图解析
- 饥饿与死锁
- redis cluster 添加删除节点
- react native 填坑之旅
- Django 部署时得到 Bad Request (400)(DEBUG = False)
- HTTPClient调用---org.apache.commons.httpclient
- Android studio如何使用SVN进行版本控制
- DFS深度优先搜索(7)--CodeForces
- Eclipse JPA project Change Event Handler问题解决
- html中文档流的理解