一个飞机航班售票系统有3个售票处,每个售票处每次处理时间不确定,每个售票处通过终端访问系统的公共数据区,设数据区有票数10。当各

作者:高老师 浏览 0

一个飞机航班售票系统有3个售票处,每个售票处每次处理时间不确定,每个售票处通过终端访问系统的公共数据区,设数据区有票数10。当各售票处分别有2位旅客买票,在没有并发控制机制时,余票数可能是( )
A、3
B、4
C、5
D、6
E、7
【正确答案】:BCDE
【题目解析】:

对于相关进程来说,可能有若干并发进程同时使用共享资源,即一个进程一次使用未结束,另一进程也开始使用,形成交替使用共享资源。此时有可能形成与时间有关的错误。 假设A为数据库中剩余的票数, P1、P2、P3为三个进程,Ri为工作单元,则进程工作如下:进程Pi(i=1,2,3)三个进程同时运行,它们交替使用共享变量A,并发执行的进程具有异步性,什么时候哪个进程运行到哪里会暂停是不可预知的。并发执行可能出现的情况之一如下表所示:进程P1、P2、P3读出的A值相同,则卖出去3张票,存回到数据库中的票数将会只减1张,发生与时间有关的错误。以此类推,剩余票数选项BCDE都有可能发生,但是A是不会发生的,应为最多减去票数为6,A的最小值为4。


📱 扫码体验刷题小程序

微信小程序二维码

扫一扫使用我们的微信小程序

热门题目

已复制到剪贴板