有2个并发进程P1和P2,它们都要使用临界资源A和B。为了实现对上述资源的互斥访问,可定义2个信号量mutexA和mutexB分别对应于资源A和B。P1和P2进程的程序如下:
请回答以下问题:
(1)上述2个并发进程P1和P2会不会产生死锁问题?
(2)如果会产生死锁问题,如何修改进程的程序,使得不会产生死锁?如果不会产生死 锁,请说明理由。
(1)有可能会发生死锁。
(2)交换P2程序中的两个P操作的顺序。或者:交换P1程序中的两个P操作的顺序。或者:两个进程对应的两个P操作申请资源的顺序要一致。
1、当进程P1获得资源A,进程P2获得资源B时,两个进程因互相等待对方释放资源而发生死锁。2、该题中,只有两个进程对应的两个P操作申请资源的顺序要一致才能避免发生死锁。所以可以调换P2程序中的两个P操作的顺序或者交换P1程序中的两个P操作的顺序来保证两个进程对应的两个P操作申请资源的顺序是一致的。
扫描微信二维码,添加您的专属老师为好友
您在考试中遇到任何问题,老师都会帮您解答
您希望我们通过哪种方式与您联系?
您已选择电话/微信/QQ的联系方式,课程顾问会尽快联系您!
您已选择微信联系方式,课程顾问会尽快添加您的微信,请您确认通过!
您已选择QQ联系方式,课程顾问会尽快添加您的QQ,请您确认通过!
您已选择电话联系方式,课程顾问会尽快联系您!
您已选择“不联系”,课程顾问不会主动联系您。如果后续您有需求,可以在个人中心主动添加销售微信或拨打客服电话:400-111-9811