[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 章进程管理。
转载请注明出处。
