请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师这个严格轮换算法是不是写错了,还是我没看懂?

老师这个严格轮换算法是不是写错了,还是我没看懂?
(1)初始化turn=0,即turn!=1,这个时候应该执行进程2的第2个循环程序。
(2)进程2执行临界区后,又将turn设置为0,所以进程1的第2个循环应该是永远都执行不了才对吧?
图片描述

正在回答 回答被采纳积分+3

3回答

ikems 2022-10-19 15:19:26

当 turn = 0 时,对进程 1 来说,直接进入临界区,对进程 2 来说,一直在等待

while (turn != 1); => while (turn != 1) {}

当 turn = 0 时,进程 2 相当于是在跑空循环

0 回复 有任何疑惑可以回复我~
  • ikems #1
    当 turn = 0,执行进程 1 的临界区,执行完后,将 turn 设成 1
    进程 2 进入 临界区,执行完临界区 代码后,将 turn 设成 0
    课件是正确的
    回复 有任何疑惑可以回复我~ 2022-10-19 15:21:11
求老仙 2021-04-08 02:38:33

谢谢同学发现一处错误。是的,,你理解的没错。

0 回复 有任何疑惑可以回复我~
求老仙 2021-04-08 02:37:00

谢谢同学发现一处错误。是的,,你理解的没错。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号