[31][12][单选]对于如下银行存款的程序:
typedef semaphore; semaphore dblock; dblock = 0; int deposit(id, int c) // 存款例程,id是用户号,c为存入现金额 { int n; P(dblock); // P操作(申请信号量) n = fetch(balance); // 从服务器取存款余额 n = n + c; // 存款余额加存入现金额 send(n); // 送回新余额 V(dblock); // V操作(释放信号量) output(n); // 打印余额凭条 }
其中,P(dblock)语句的作用是
访问临界资源
将“正在访问临界区”的标志清除
访问临界资源之外的其余部分
测试是否能正确进入临界区
答案
测试是否能正确进入临界区
解析
程序中的 P(sblock语句属于对资源进行操作,主要是申请进入临界区的资格,所以主要作用是测试是否能正确进入临界区。涉及考点为第 2 章进程管理。
转载请注明出处。