[18][12][单选]有如下银行存款的程序
```c int deposit(int id, int c) { int n; while(TS(&lock)); n = fetch(balance); n = n + c; send(n); lock = FALSE; return(n); } ``` 上述程序中,lock = FALSE指令的作用是
临界资源访问过程中的进入区
临界资源访问过程中的临界区
临界资源访问过程中的剩余区
临界资源访问过程中的退出区
答案
临界资源访问过程中的退出区
解析
程序中在存取账户信息属于临界资源,同一时间只允许有一个进程访问;访问临界资源的过程分为四个部分:while(TS(&lock));属于进入区;n = fetch(balance); n = n + c; send(n);属于临界区;lock = FALSE;属于退出区;output(n);属于剩余区。故本题答案选择D选项。涉及考点为第4章并发与同步。
转载请注明出处。