-
资源的一种分类
(1) 可抢占资源: 可以从拥有它的进程中抢占而不产生其他副作用
例如: 存储器
(2) 不可抢占资源: 不引起相关的计算失败的情况下,无法把它从占有它的进程处抢占过来
例如: 光盘刻录机
但是打印机比较特殊,物理打印机本身是不可抢占资源,但是假脱机打印是可抢占资源
-
死锁和不可抢占资源相关,因为可抢占资源直接抢就是了,不是必须要等
-
有时,请求资源的__顺序__可能会导致死锁的发生
示例
进程A
void process_A() { down(&resource_1); down(&resource_2); use_two_resources(&resource_1, &resource_2); up(&resource_2); up(&resource_1); }
进程B
void process_A() { down(&resource_2); down(&resource_1); use_two_resources(&resource_1, &resource_2); up(&resource_2); up(&resource_1); }
此时就有可能出现死锁
chapter06_死锁_1_资源
最新推荐文章于 2024-01-06 22:53:55 发布