问答题

兄弟俩共同使用一个账号,每次限存或取10元,存钱与取钱的进程分别如下所示:int amount=0;SAVE(){ TAKE(){ int m1; int m2; m1=amount; m2=amount; m1=m1+10; m2=m2—10; amount=m1; amount=m2;} } 由于兄弟俩可能同时存钱和取钱,因此两个进程是并发的。若哥哥先存了两次钱,但在第三次存钱时,弟弟在取钱。请问: 如何用P、V操作实现两并发进程的互斥执行

【参考答案】

正确答案:在上述问题中,共享变量amount是一个临界资源,为了实现两并发进程对它的互斥访问,可为它设置一初值为1的互斥......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题