[16][12][单选]有如下银行存款的程序
int deposit(int id, int c
{
int n;
while(TS(&lock;
n = fetch(balance;
n = n + c;
send(n;
lock = FALSE;
return(n;
上述程序中,fetch(balance指令的作用是
临界资源访问过程中的进入区
临界资源访问过程中的临界区
临界资源访问过程中的退出区
临界资源访问过程中的剩余区
答案
临界资源访问过程中的临界区
解析
对临界资源的访问必须是互斥的,所以对临界资源进行操作的代码段即fetch(balance;n = n + c;send(n;为临界区。临界资源访问过程的进入区、退出区是为了保证互斥访问临界资源而设置的。本题中while(TS(&lock为进入区,lock = FALSE为退出区,fetch(balance指令的作用是在临界区中访问临界资源,故选B选项。
【涉及考点】
第4章 并发与同步
转载请注明出处。