N个进程的临界区问题(面包房算法)

上面PPT来自浙江大学李善平老师的操作系统课程。 产生的number[i]会重复是因为cpu调度引起的(number[i]的赋值操作不是原子操作)。 choosing[]数组的意义在于防止i进程的number[i]数值不稳定,出现错误。如果没有choosing[]数组的话,反例如下,比如只考虑进程i和j: 假设进程i<j,当i进程的number[i]赋值时,由于cpu的调度,停在了赋值操作,即此时
相关文章
相关标签/搜索