为正确使用临界资源,可把对临界资源的访问分成进入区、临界区、退出区和剩余区四 部分。请指出下列飞机订票代码中while TS(&lock);语句属于哪一个区域
int booking(id)//订票例程 { int c; { int c; while TS(&lock); //Test-and-Set 指令 c=fetch(ticket); //从服务器取剩余票额 show(c); //显示 if (read(input)=1)//是否订票? { c=c-1; //票额减 1 send(c); //送回新数据 } lock = FALSE; //置标志为 F output(list); //打印机票 }
临界资源访问过程中的进入区
临界资源访问过程中的临界区
临界资源访问过程中的退出区
临界资源访问过程中的剩余区
答案
临界资源访问过程中的进入区
解析
详解
int booking(id)//订票例程 { int c; { int c; while TS(&lock); //Test-and-Set 指令 //是进入区
c=fetch(ticket); //从服务器取剩余票额 show(c); //显示 if (read(input)=1)//是否订票? { c=c-1; //票额减 1 send(c); //送回新数据 } //是临界区
lock = FALSE; //置标志为 F //是退出区
output(list); //打印机票 //是剩余区