考虑以下代码:
我确信上述代码能够满足“互斥”属性,但对于以下问题仍有疑问:
1. “进展”(
2. 从我所看到的,上述代码并没有维护任何有关进入临界区次数的信息,那么这是否意味着上述代码不满足“有界等待”(
//proces i: //proces j:
flag[i] = true; flag[j] = true;
turn = j; turn = i;
while(flag[j] == true && turn==j); while(flag[i] == true && turn == i);
<critical section> <critical section>
flag[i] = false; flag[j] = false;
<remainder section <remainder section>
我确信上述代码能够满足“互斥”属性,但对于以下问题仍有疑问:
1. “进展”(
progress
)指的具体是什么?上述代码是否满足该属性?上述代码要求临界区在严格交替中执行。这被认为是“进展”吗?2. 从我所看到的,上述代码并没有维护任何有关进入临界区次数的信息,那么这是否意味着上述代码不满足“有界等待”(
bounded waiting
)属性?