采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师这个严格轮换算法是不是写错了,还是我没看懂? (1)初始化turn=0,即turn!=1,这个时候应该执行进程2的第2个循环程序。 (2)进程2执行临界区后,又将turn设置为0,所以进程1的第2个循环应该是永远都执行不了才对吧?
当 turn = 0 时,对进程 1 来说,直接进入临界区,对进程 2 来说,一直在等待
while (turn != 1); => while (turn != 1) {}
当 turn = 0 时,进程 2 相当于是在跑空循环
当 turn = 0,执行进程 1 的临界区,执行完后,将 turn 设成 1 进程 2 进入 临界区,执行完临界区 代码后,将 turn 设成 0 课件是正确的
谢谢同学发现一处错误。是的,,你理解的没错。
登录后可查看更多问答,登录/注册
轻松超越大学课程,前阿里P8专家的实践精华总结
1.3k 13
1.6k 12
1.3k 7
1.0k 5
1.5k 5
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号