第1题:
有如下函数模板定义: template<typename T1,typename T2,typename T3> T2 plus T1 t1,T3 t3){return t1+t3;} 则以下调用中正确是
A.plus(3,5L);
B.plus<>(3,5L);
C.plus<int>(3,5L);
D.plus<int,double>(3,5L);
第2题:
阅读下列说明,回答问题。
【说明】
现有事务T1,T2、L3它们对数值型数据A执行的操作分别如下:
T1;将A加1。
T2:将A加倍。
T3:输出A的值,并将A置为1。
假设T1、T2、T3可以并发执行。若A的初值为0,那么存在多少种可能的正确结果?
第3题:
阅读以下说明和关系表,回答问题1~3。
[说明]
设T1,T2,T3是如下三个事务,其中S为数据库中某个数据项,设S的初值为1。
T1: S:= S * S
T2: S:= S + 3
T3: S:= 6
若允许三个事务并行执行,请列出所有可能的正确结果。
第4题:
事务T1,T2,T3分别对数据D1,D2,D3并发操作如下图所示,其中T1与T2问的并发操作存在的问题是 (1) 。T2与T3问的并发操作存在的问题是 (2) 。
1.
第5题:
阅读以下说明和关系表,回答问题1~2,将解答填入对应的解答栏内。
[说明]
设T1、T2是如下两个事务:
T1:A=B+2
T2:B=A*B
A、B的初值分别是2和2。
假设T1和T2可以并发执行,且对T1、T2的调度不加限制,它们的并发执行可能产生哪几种结果?
第6题:
阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。
[说明] 设T1,T2,T3为如下所述的三个事务。
T1:A:=A+1。
T2: A:=A*2。
T3:A:= 在屏幕上输出A,并将A置为1;其中A为数据库中的某个数据项。设A的初值为0。
若这三个事务允许并行执行,则请列举出有多少可能的正确结果。
第7题:
如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2。接着T2又申请封锁R1。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成()。
A 活锁
B 死锁
C 乐观锁
D 悲观锁
第8题:
( 25 )有如下模板声明:
template <typename T1, typename T2> class A;
下列声明中,与上述声明不等价的是
A ) template <class T1, class T2> class A;
B ) template <class T1, typename T2> class A;
C ) template <typename T1, class T2> class A;
D ) template <typename T1, T2> class A;
第9题:
事务T1、T2、T3分别对数据D1、D2和D3并发操作如下所示,其中T1与T2间并发操作(14),T2与T3间并发操作(15)。
A.不存在问题
B.将丢失修改
C.不能重复读
D.将读“脏”数据
第10题:
下面不属于同一函数模板的是( )。
A.template<class t1> t1 max(t1 &a,t1 &b) {…}template<class t2> t2 max(t2 &a,t2 &b) {…}
B.template<class t1>t1 max(t1 a,t1 b){…}template<class t2>t2 max(t2 &a,t2 &b){…}
C.template<class t1> t1 max(t1 * a,t1 * b) {…} template<class t2> t2 max(t2 &a,t2 &b) {…}
D.template<class t1>t1 max(t1 a,t1 b){…}template<class t2>t2 max(t2 &a,t2 &b,t2 c){…}