[31][12][单选]对于如下银行存款的程序:
type def struct{ semaphore sblock; int balance; }bank; void deposit(int a, int c { //存款例程,a 为用户账号,c 为存入现金 int n; n = a; wait(&(sblock; //操作 balance = balance + c; //从账户读取存款余额 //存款余额加入存入现金 signal(&(sblock; //返回新余额 } void withdraw(int a, int c { //取款例程,a 为用户账号,c 为取出现金 int n; n = a; wait(&(sblock; //操作 balance = balance - c; signal(&(sblock; //返回新余额 } 其中,P(sblock语句的作用是
访问临界资源
将“正在访问临界区”的标志清除
访问临界资源之外的部分
测试是否能正确进入临界区
答案
测试是否能正确进入临界区
解析
程序中的 P(sblock语句属于对资源进行操作,主要是申请进入临界区的资格,所以主要作用是测试是否能正确进入临界区。涉及考点为第 2 章进程管理。
转载请注明出处。