问答题
阅读以下技术说明,根据要求回答下列问题。
[说明]
某省会城市××长途汽车售票系统负责所有本地长途汽车站各班次的汽车票销售,并在该省会城市和全省主要地级市设有多个该长途汽车票销售网点,各售票网点使用相同的售票程序。假设售票程序中用到的伪指令如表所示。
伪指令含义
|
| 伪指令 | 说明 |
| R(A,x) | 返回长途汽车班次A当前的剩余汽车票数给变量x |
| W(A,x) | 将当前数据库中长途汽车班次A的剩余汽车票数置为x |
假设某售票网点一次售出n张长途汽车班次A的汽车票,则售票程序的伪指令序列为:
R(A,x),W(A,x~n)
根据上述业务及规则,完成下列问题。
若两个售票网点同时销售长途汽车班次A的汽车票,在数据库服务器端可能出现如下的调度。
A:R
1(A,x),R
2(A,x),W
1(A,x-3),W
2(A,x-2)
B:R
1(A,x),W
1(A,x-3),R
2(A,x),W
2(A,x-2)
C:R
1(A,x),R
2(A,x),W
2(A,x-2),W
1(A,x-3)
其中R
i(A,x),W
i(A,x)分别表示第i个销售网点的读写操作,其余类同。
假设当前长途汽车班次A剩余15张汽车票,分析上述3个调度各自执行完后的剩余票数,并指出其中错误的调度,简要分析产生错误的主要原因。
【参考答案】
调度A结果:13
调度B结果:10
调度C结果:12
调度A和C结果错误,因为破坏了事务的......
(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)