• 2022-05-30
    设T1和T2两个事务,他们对数据data的并发操作如下表所示(SLOCK data表示对数据data上S锁,UNLOCK data表示对数据data解锁),对这个并发操作,下面说法正确的是______。 T1 T2 ①请求 SLOCK data 读 data=20 ② ③A=A+30 写回 A=50 COMMIT UNLOCK data ④ 请求 SLOCK data 读data=20 写回data=50 COMMIT UNLOCK data
    A: 该操作部能重复读
    B: 该操作符合完整性要求
    C: 该操作的第①步中,事务T1应该申请X锁
    D: 该操作的第②步中,事务T2不可能得到对data的锁
  • C

    举一反三

    内容

    • 0

      ​请问以下四个赋值操作中,哪一个操作可以得到一个字典类型的数据?​ A: >>>data = ('Zhangsan', 18) B: >>>data = ['Zhangsan', 18] C: >>>data = {'Zhangsan': 18} D: >>>data = "'Zhangsan', 18"

    • 1

      已知有如下定义:struct a{char x; double y;}data,*t;若有t=&data,则对data中的成员的正确引用是()。

    • 2

      有如下程序 #include intchange(int*data) { *data=*data%2; return(*data)+1; } main() { intdata=12; change(&data); printf("%d,",data); data=change(&data); printf("%d,",data); } 程序运行后的输出结果是()

    • 3

      设有两个事务T1、T2,其并发操作如下图所示,下面评价正确的是▁▁▁▁▁。 T1事务 T2事务 (1)读A=10 (2) 读A=10 (3)A=A-5 写回 (4) A=A-8 写回 A: 该操作不存在问题 B: 该操作丢失修改 C: 该操作不能重复读 D: 该操作读“脏”资料

    • 4

      已知有如下定义:struct a{char x; double y;}data,t;若有t=&data,则对data中的成员的正确引用是() A: (t).data.x B: (t).x C: t->data.x D: t.data.x