摘要: 先,介绍一个由于共享资源而产生死锁的例子: 设系统有一台打印机(R1),一台读卡机(R2),两进程共享这两台设备。 用信号量S1表示R1是否可用,初值为1; 用信号量S2表示R2是否可用,初值为1; 这两个进程在并发执行过程中,可能会发生 死锁。大家可以思考一下,如何修改A、B进程 才不会发生死锁。 产生死锁的原因和必要条件 产生死锁的原因 竞争系统资源 系统中只有一台打印机R1和一台读卡机R2,可供进 程P1和P2共享。R1、R2已经分别分配给P1、P2使用,当P1 、P2在不释放资源R1、R2而又同时分别申请R2、R1(如左 图),形成环路,这样会产生死锁。 进程的推进顺序不当 在进程P. 阅读全文