老师在这里说J不进去,所以I就能再一次执行了,
既然这样I什么时候能出去呢,执行了flag[i]不就意味着
J可以执行了吗,老师的话到底什么意思呢,感觉这里的逻辑好混乱,为什么老师总是讲不清楚呢?能不能讲的全面一点,该铺垫的铺垫一下,理解起来就不费劲了。

网校学员钱勒**在学习2022考研专业课名师全程班【408计算机】时提出了此问题,已有1人帮助了TA。

网校助教

考研数一答疑

同学你好,该知识点来自沪江网校《2022考研专业课名师全程班【408计算机】》的课程,想要更系统的学习,欢迎进入课程学习。不仅可以和更多的同学一起学习,而且还有老师、助教随时的学习指导和知识点解答哦。

i进程出去必须访问临界区结束,整个流程做一个参考:首先,两个进程都想进入临界区的话,那首先把各自的flag置为true,再次,turn的含义是让一步的意思,比方说i进程把turn改成j,意思是,如果j进程想要进入临界区那进程i就等一等,所以i进程就一直等待(等待条件是turn是对方的和对方的flag为真,这里体现出孔融让梨的感觉)。当然两个进程不会一直互相等待,最终先让turn修改的那个进程先进入临界区(因为进程i修改了turn后,切换到j进程它也需要修改turn相当于又改回来了),那么进入临界区的进程在完成访问后把自己的flag置为false代表自己不需要访问了。那么其他还在等待的进程发现对方的flag为false了,此时就进入临界区了。

版权申明:知识和讨论来自课程:《2022考研专业课名师全程班【408计算机】》的学员和老师,如果想了解更多,可以报名参加课程学习。所有知识讨论内容,版权归作者及沪江网校所有。