兄弟俩共同使用一个账号,每次限存或取10元,存钱与取钱的进程分别如下所示: 由于兄弟俩可能同时存钱和取钱,因此两个进程是并发的。若哥哥先存了两次钱,但在第三次存钱时弟弟在取钱。请问: 最后账号amount上面可能出现的值是多少?

admin2023-02-10  53

问题 兄弟俩共同使用一个账号,每次限存或取10元,存钱与取钱的进程分别如下所示:

由于兄弟俩可能同时存钱和取钱,因此两个进程是并发的。若哥哥先存了两次钱,但在第三次存钱时弟弟在取钱。请问:
最后账号amount上面可能出现的值是多少?

选项

答案本题考查P、V操作实现进程的互斥。 哥哥存两次钱后,共享变量amount的值为20。哥哥的第三次存钱与弟弟的取钱同时进行,如果两者顺序执行,则最后amount的值为20;如果在一个进程的执行过程中进行CPU调度,转去执行另一进程,则最后amount的值取决于amount=m1及amount=m2的执行先后次序,若前者先执行,则最后amount的值为10,若后者先执行,则最后amount的值为30。因此,最后账号amount上可能出现的值有10、20、30。

解析
转载请注明原文地址:https://kaotiyun.com/show/9mwD777K
0

相关试题推荐
最新回复(0)