操作系统--死锁应对的有关问题(1)
作者:网络转载 发布时间:[ 2013/9/4 9:55:57 ] 推荐标签:
1,计算机发生死锁的原因
死锁发生的原因是对计算机资源的一种争夺而造成的一种现象。
2,对死锁的描述
线程在使用资源时,是通过如下顺序:
a,请求资源
b,使用资源
c,释放资源
在请求资源没有批准的时候,线程开始等待:一种是阻塞式等待,另一种是立即返回。执行别的任务。
立即返回时,线程是不会发生死锁的。只有在阻塞式等待时,发生死锁现象。
死锁正式定义:
如果有一组线程,每个线程都是在等待一个事件的发生,而这个事件只能由该租线程里面的另一个线程发出,
我们称这组线程发生了死锁。
3,死锁的4个必要的条件
①:死锁发生的必要条件是资源有限。
这是非常直观的现象,如果资源是无限的,大可不必等待别的线程释放资源后再去请求资源,和人类一样。
②:死锁的另一个必要的条件是持有等待。
如果一个线程一直不释放资源,别人在请求资源时,总是等不到资源。造成死锁。
③:还有是不可抢占。
如果一个线程能抢占别的线程的资源,别的线程的资源会立即释放,不会造成持有等待。
④:循环等待条件。
也是死循环。
4,死锁的应对
①:允许死锁的发生
一:可以当作没看见,不处理。
二:在死锁发生之后,才想办法处理。
②:不允许死锁的发生
一:考虑周全。
二:使用消除死锁的必要条件。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11