niusouti.com

如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2。接着T2又申请封锁R1。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成()。A 活锁B 死锁C 乐观锁D 悲观锁

题目

如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2。接着T2又申请封锁R1。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成()。

A 活锁

B 死锁

C 乐观锁

D 悲观锁


相似考题
更多“如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2。接着T2又申请封锁R1。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成()。A 活锁B 死锁C 乐观锁D 悲观锁”相关问题
  • 第1题:

    有某数据库系统在运行过程中发生了系统故障,发生故障时正在运行事务t1和t2。进行故障恢复时,在日志文件中发现有t1的事务开始记录而没有结束记录,有t2的开始记录和结束记录,但t2对数据库的修改还没有写到数据库中,从检查点开始正向扫描日志文件______。

    A)扫描到t1时,直接重做t1,扫描到t2时,将t2直接撤销

    B)扫描到t1时,将t1加入重做队列,扫描到t2时,将t2加入撤销队列

    C)扫描到t1时,直接撤销t1,扫描到t2时,将t2直接重做

    D)扫描到t1时,将t1加入撤销队列,扫描到t2时,将t2加入重做队列

    A.

    B.

    C.

    D.


    正确答案:D
    解析:由事务的原子性可知,一个事务对数据库的所有操作是一个不可分割的工作单元,要么全部执行要么一个也不执行,由于t1事务没有结束记录,应该加入撤销队列,而t2有开始和结束记录却没有写入数据库,应该加入重做队列。

  • 第2题:

    如果有两个事务T1和T2,彼此等待对方释放锁住的数据,这种现象称为 ______ 。


    正确答案:死锁
    死锁 解析:死锁指的是两个或更多的事务同时处于等待状态,每个事务都在等待其他的事务释放锁使其可继续执行。预防死锁主要有一次封锁法和顺序封锁法。

  • 第3题:

    下面不属于同一函数模板的是()。A.template t1 max(t1 &a,t1 &b) {…}template<

    下面不属于同一函数模板的是( )。

    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){…}


    正确答案:D
    解析:函数模板的重载是靠模板参数的数量不同来区分的,因为函数模板是抽象的,有待于进一步实例化,所以靠参数类型无法区别调用哪个函数模板。

  • 第4题:

    若系统中存在一个等待事务集{T0,T1,T2,…Tn},其中T0正等待被T1锁住的数据项D1,T1正等待被T2锁住的数据项D2,……,Tn-1正等待被Tn锁住的数据项Dn,Tn正等待被T0锁住的数据项D0,则系统处于______的工作状态。

    A.封锁

    B.死锁

    C.循环

    D.并发处理

    A.

    B.

    C.

    D.


    正确答案:B

  • 第5题:

    并发执行的三个事务T1 、T2 和T3,事务T1 对数据 D1 加了共享锁,事务T2、 T3分别对数据 D2 、D3 加了排 它锁,之后事务T1 对数据( );事务T2对数据( )。

    A. D2 、D3 加排它锁都成功B. D2 、D3 加共享锁都成功C. D2 加共享锁成功 ,D3 加排它锁失败D. D2 、D3 加排它锁和共享锁都失败A. D1、D3 加共享锁都失败B. D1 、D3 加共享锁都成功C. D1 加共享锁成功 ,D3 加排它锁失败D. D1 加排它锁成功 ,D3 加共享锁失败


    正确答案:D,C

  • 第6题:

    存在一个等待事务集{TO,T1,…,Tn},其中T0正等待被T1锁住的数据项,T1正等待被T2锁住的数据项,Tn-1正等待被Tn锁住的数据项,且Tn正等待被T0锁住的数据项,则系统的工作状态处于

    A.并发处理

    B.封锁

    C.循环

    D.死锁


    正确答案:D
    解析:这种循环等待的现象称为死锁。

  • 第7题:

    假设系统中有事务T1和T2,数据D1和D2。若T1对D1已加排它锁,对D2已加共享锁;那么T2对D1( ),T2对D2(请作答此空)。

    A.加共享锁成功,加排它锁失败
    B.加共享锁、加排它锁都失败
    C.加共享锁、加排它锁都成功
    D.加排它锁成功,加共享锁失败

    答案:A
    解析:
    本题考查数据库事务处理基础知识。事务并发处理时,如果对数据读写不加以控制,会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。
    排它锁又称为写锁,用于对数据进行写操作时进行锁定。如果事务T对数据A加上x锁后,就只允许事务T读取和修改数据A,其他事务对数据A不能再加任何锁,从而也不能读取和修改数据A,直到事务T释放A上的锁。
    共享锁又称为读锁,用于对数据进行读操作时进行锁定。如果事务T对数据A加上了S锁后,事务T就只能读数据A但不可以修改,其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。

  • 第8题:

    若事务T1对数据D1已加排它锁,事务T2对数据D2已加共享锁,那么事务T2对数据D1( );事务T1对数据D2(请作答此空)。

    A.加共享锁成功,加排它锁失败
    B.加排它锁成功,加共享锁失败
    C.加共享锁、排它锁都成功
    D.加共享锁、排它锁都失败

    答案:A
    解析:
    对于丢失更新问题,通常采用封锁(Locking)技术加以解决。锁(Lock)的作用是使并发事务对数据库中数据项的访问能够同步。封锁技术中主要有两种封锁:排它锁封锁(X锁)和共享型封锁(S锁)。排它锁封锁(Exclusive Lock)简称为x锁(也称为写锁)。如果事务T对某个数据R实现了X锁,那么在T对数据R解除封锁之前,不允许其他事务T再对该数据加任何类型的锁。共享型封锁(Shared Lock)简称为S锁(也称为读锁)。如果事务T对某数据加上S锁后,仍允许其他事务再对该数据加s锁,但在对该数据的所有S锁都解除之前决不允许任何事务对该数据加X锁。依题意,若事务T1对数据D1已加排它锁,事务T2对数据D2已加共享锁,那么事务T2对数据D1加共享锁、排它锁都失败;事务T1对数据D2加共享锁成功,加排它锁失败。

  • 第9题:

    并发执行的三个事务T1、T2和T3,事务T1对数据D1加了共享锁,事务T2、T3分别对数据D2、D3加了排它锁,之后事务T1对数据(请作答此空);事务T2对数据( )。

    A.D2、D3加排它锁都成功
    B.D2、D3加共享锁都成功
    C.D2加共享锁成功,D3加排它锁失败
    D.D2、D3加排它锁和共享锁都失败

    答案:D
    解析:
    并发事务如果对数据读写时不加以控制,会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。排它锁又称为写锁,用于对数据进行写操作时进行锁定。如果事务T对数据A加上X锁后,就只允许事务T读取和修改数据A,其他事务对数据A不能再加任何锁,从而也不能读取和修改数据A,直到事务T释放A上的锁。共享锁又称为读锁,用于对数据进行读操作时进行锁定。如果事务T对数据A加上了S锁后,事务T就只能读数据A但不可以修改,其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。

  • 第10题:

    若事务T1对数据 D1 加了共享锁,事务 T2 、T3分别对数据D2 、D3 加了排它锁,则事务T1对数据( 51 ) ;事务T2对数据( 52 )。

    A.D1 、D3 加共享锁都失败
    B.D1、D3 加共享锁都成功
    C.D1 加共享锁成功 ,D3 如排它锁失败
    D.D1 加排它锁成功 ,D3 加共享锁失败

    答案:C
    解析:
    若事务T1对数据D1加上共享锁,则其他事务只能再对D1加共享锁,而不能加排他锁。
    若事务T2、T3对数据D2、D3加上排他锁,其他事务不能再对D2、D3加任何锁。

  • 第11题:

    终端T1呼叫终端T2的号码002,无法成功建立呼叫,可能原因有()。

    • A、终端T1或终端T2未注册GK
    • B、终端T1设置了免打扰
    • C、终端T1在公网,终端T2在私网
    • D、终端T2进入休眠状态

    正确答案:A,C

  • 第12题:

    设事务T1和T2,对数据库中的数据A进行操作,下列情况中不会发生冲突的是()。

    • A、T1正在写A、T2要读A
    • B、T1正在写A、T2也要写A
    • C、T1正在读A、T2要写A
    • D、T1正在读A、T2要读A

    正确答案:D

  • 第13题:

    若系统中存在一个等待事务集{T0,T1,T2,...,Tn},其中T0正等待被T1锁住的数据项A1,T1正等待被T2锁住的数据项A2,...,Tn-1正等待被Tn锁住的数据项An,Tn正等待被T0锁住的数据项A0,则系统处于______的工作状态。

    A.并发处理

    B.封锁

    C.循环

    D.死锁


    正确答案:D
    解析:与操作系统中的进程调度类似,在数据库系统中,若系统中存在一个等待事务集 {T0,T1,T2,...,Tn},其中T0正等待被T1锁住的数据项A1,T1正等待被T2锁住的数据项A2,...,Tn-1正等待被Tn锁住的数据项An,Tn正等待被T0锁住的数据项A0,则系统处于死锁的工作状态。在数据库中,产生死锁的原因是2个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。预防死锁的方法通常有一次封锁法(每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行)和顺序封锁法(预先对数据对象规定一个封锁顺序,所有事务都按这个顺序进行封锁),死锁的诊断方法一般有超时法和等待图法。

  • 第14题:

    存在一个等待事务集{T0,T1,…,Tn},其中T0正等待被T1锁住的数据项,T1正等待被T2锁住的数据项,Tn-1正等待被Tn锁住的数据项,且Tn正等待被T0锁住的数据项,则系统的工作状态处于

    A.并发处理

    B.封锁

    C.循环

    D.死锁


    正确答案:D
    解析:这种循环等待的现象称为死锁。

  • 第15题:

    无级联调度应满足:对于每对事务T1和T2,如果T2读取了由T1所写的数据项,则T1必须在T2这一读取前 【】


    正确答案:提交
    因一个事物故障导致一系列事物回滚的现象称为级联回滚,由于级联回滚导致撤销大量工作,因此不希望发生级联回滚,我们对调度进行限制,这种调度称为无级联调度。

  • 第16题:

    若系统中存在5个等待事务T0,T1,T2,T3,T4,其中:T0正等待被T1锁住的数据项A1, T1正等待被T2锁住的数据项A2,T2正等待被T3锁住的数据项A3,T3正等待被T4锁住的数据项A4,T4正等待被T0锁住的数据项A0,则系统处于(46)的工作状态。

    A.并发处理

    B.封锁

    C.循环

    D.死锁


    正确答案:D
    解析:本题考查关系数据库事务处理方面的基础知识。和操作系统一样,封锁的方法可能引起活锁和死锁。例如事务T1封锁了数据R,事务T2请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T2释放R上的封锁后系统又批准了T4的请求…T2有可能长期等待、这就是活锁。避免活锁的简单方法是采用先来先服务的策略。即让封锁子系统按请求封锁的先后次序对事务排队。数据R上的锁一且释放就批准申请队列中的第一个事务获得锁。又如事务T1封锁了数据R1,T2封锁了数据R2。然后T1又请求封锁R2,T2请求封锁R1。于是T1等待T2,释放R2上的封锁而同时T2等待T1释放R1上的封锁。这就使得两个事务永远不能结束。出现了死锁。

  • 第17题:

    存在一个等待事务集{T0,T1,…,Tn},其中T0正等待被T1锁住的数据项,T2正等待被T2锁住的数据项,Tn-1,正等待被 Tn。锁住的数据项,且Tn。正等待被T0锁住的数据项,则系统的工作状态处于

    A.并发处理

    B.封锁

    C.循环

    D.死锁


    正确答案:D
    解析:这种循环等待的现象称为死锁。

  • 第18题:

    存在一个等待事务集{TO,T1,…,Tn},其中TO正等待被T1锁住的数据项,T1正等待被T2锁住的数据项,Tn-1正等待被Tn锁住的数据项,且Tn正等待被TO锁住的数据项,则系统的工作状态处于

    A.并发处理

    B.封锁

    C.循环

    D.死锁


    正确答案:D
    解析:这种循环等待的现象称为死锁。

  • 第19题:

    假设事物T1对数据D1加了共享锁,事物T2对数据D2加了排它锁,那么()

    A.事物T2对数据D1加排它锁成功
    B.事物T1对数据D2加共享锁成功,加排它锁失败
    C.事物T1对数据D2加排它锁和共享锁都成功
    D.事物T1对数据D2加排它锁和共享锁失败

    答案:D
    解析:
    会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(Exclusive Locks ,简称X锁)和共享锁(Share Locks ,简称S锁)。排它锁又称为写锁,用于对数据逬行写操作时逬行锁定。如果事务T对数据A加上X锁后,就只允许事务T读取和修改数据A ,其他事务对数据再加任何锁,从而也不能读取和修改数据A ,直到事务T释放A上的锁。共享锁又称为读锁,用于对数据进行读操作时进行锁定。如果事务T对数据A加上了S锁后,事务T就只能读数据A但不可以修改,其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。

  • 第20题:

    假设系统中只有事务T1和T2,两个事务都要对数据D1和D2进行操作。若T1对D1已加排它锁,T1对D2已加共享锁;那么T2对D1(请作答此空),那么T2对D2( )。

    A.加共享锁成功,加排它锁失败
    B.加共享锁、加排它锁都失败
    C.加共享锁、加排它锁都成功
    D.加排它锁成功,加共享锁失败

    答案:B
    解析:
    本题考查数据库事务处理方面的基础知识。并发事务如果对数据读写时不加以控制,会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。排它锁又称为写锁,用于对数据进行写操作时进行锁定。如果事务T对数据A加上X锁后,就只允许事务T读取和修改数据A,其他事务对数据A不能再加任何锁,从而也不能读取和修改数据A,直到事务T释放A上的锁。共享锁又称为读锁,用于对数据进行读操作时进行锁定。如果事务T对数据A加上了S锁后,事务T就只能读数据A但不可以修改,其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。

  • 第21题:

    并发执行的三个事务T1、T2和T3,事务T1对数据D1加了共享锁,事务T2、T3分别对数据D2、D3加了排它锁,之后事务T1对数据( );事务T2对数据(请作答此空)。

    A.D1、D3加共享锁都失败
    B.D1、D3加共享锁都成功
    C.D1加共享锁成功,D3加排它锁失败
    D.D1加排它锁成功,D3加共享锁失败

    答案:C
    解析:
    并发事务如果对数据读写时不加以控制,会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。排它锁又称为写锁,用于对数据进行写操作时进行锁定。如果事务T对数据A加上X锁后,就只允许事务T读取和修改数据A,其他事务对数据A不能再加任何锁,从而也不能读取和修改数据A,直到事务T释放A上的锁。共享锁又称为读锁,用于对数据进行读操作时进行锁定。如果事务T对数据A加上了S锁后,事务T就只能读数据A但不可以修改,其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。

  • 第22题:

    若系统中存在n个等待事务Ti(i=0,1,2,…,n-1),其中:T0正等待被T1锁住的数据项A1,T1正等待被T2锁住的数据项A2,…,Ti正等待被Ti+1锁住的数据项Ai+1,…,Tn-1正等待被T0锁住的数据项A0,则系统处于(5)状态。

    A. 封锁
    B. 死锁
    C. 循环
    D. 并发处理

    答案:B
    解析:

  • 第23题:

    在多个事务并发执行时,如果并发控制措施不好,则可能会造成事务T1读了事务T2的“脏”数据。这里的“脏”数据是指()。

    • A、T1回滚前的数据
    • B、T1回滚后的数据
    • C、T2回滚前的数据
    • D、T2回滚后的数据

    正确答案:D