当前位置| 科技 > > 列表>详情

产生死锁的必要条件都是什么?进程发生永久堵塞是?

2023-03-16 11:22:05 来源:创视网

产生死锁的必要条件

学过操作系统的朋友都知道产生死锁必须具备以下四个条件:

互斥条件:该资源任意一个时刻只由一个线程占用。

请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。

不剥夺条件:线程已获得的资源在未使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。

循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

进程发生永久堵塞

一种情形,此时执行程序中两个或多个进程发生永久堵塞(等待),每个进程都在等待被其他进程占用并堵塞了的资源。例如,如果进程A锁住了记录1并等待记录2,而进程B锁住了记录2并等待记录1,这样两个进程就发生了死锁现象。

计算机系统中,如果系统的资源分配策略不当,更常见的可能是程序员写的程序有错误等,则会导致进程因竞争资源不当而产生死锁的现象。

在两个或多个任务中,如果每个任务锁定了其他任务试图锁定的资源,此时会造成这些任务永久阻塞,从而出现死锁。例如:事务A 获取了行 1 的共享锁。事务 B 获取了行 2 的共享锁。

标签: 产生死锁的 必要条件 都是什么 进程发生永久堵塞