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