老师在这里说Pj进不去,Pi可以进去,Pi的flag[j]和Pj的falg[j]一样都
是TRUE,为什么Pj进不去,Pi就能进去呢?在这里根本就没有讲清楚啊

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

网校助教

考研数一答疑

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

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

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