参考答案和解析
正确答案:数据库系统一般采用允许死锁发生, DBMS 检测到死锁后加以解除的方法。 DBMS 中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁发生。 DBMS 并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。当然,对撤销的事务所执行的数据修改操作必须加以恢复。
更多“请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?”相关问题
  • 第1题:

    请给出预防死锁和检测死锁的方法。


    正确答案:预防死锁通常有以下两种方法: ①一次封锁法就是要求每个事务必须一次将所有要使用的数据全部加锁否则该事务不能继续执行; ②顺序封锁法是预先对数据对象规定一个封锁顺序所有事务都按这个顺序实行封锁。 检索死锁发生的一种方法是选择一个处理死锁代价最小的事务将其撤销释放此事务持有的所有锁使其他事务得以继续运行下去。
    预防死锁通常有以下两种方法: ①一次封锁法,就是要求每个事务必须一次将所有要使用的数据全部加锁,否则该事务不能继续执行; ②顺序封锁法,是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。 检索死锁发生的一种方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他事务得以继续运行下去。

  • 第2题:

    解决死锁有多种方法,一次分配所有资源来解决死锁的方法称为()。

    A.死锁预防

    B.死锁避免

    C.死锁检测

    D.死锁解除


    参考答案:A

  • 第3题:

    系统允许部分进程发生死锁,通过定时运行资源分析程序并报告是否已有死锁的方法称为

    A.死锁预防

    B.死锁避免

    C.死锁检测

    D.死锁解除


    正确答案:C

  • 第4题:

    资源的静态分配算法在解决死锁问题中是用于()

    • A、 防止死锁
    • B、 避免死锁
    • C、 检测死锁
    • D、 解除死锁

    正确答案:A

  • 第5题:

    死锁检测出来后,有哪些方法可以解除死锁?


    正确答案:如果检测到死锁,系统采用抢夺处于死锁状态的进程的资源,或强迫进程结束,或重新启动操作系统等方法来解除死锁。

  • 第6题:

    系统允许发生部分死锁,一旦发现有死锁进程,则通过杀死死锁进程来解决死锁问题的方法称为()。

    • A、死锁预防
    • B、死锁避免
    • C、死锁检测
    • D、死锁解除

    正确答案:D

  • 第7题:

    在采用死锁检测的系统中,当“死锁检测”程序检测到死锁后,一般采用()等方法来解除死锁。

    • A、 撤消某些进程
    • B、 剥夺某些进程所占有的资源
    • C、 重新启动系统
    • D、 撤消全部等待进程
    • E、 剥夺全部进程所占有的资料

    正确答案:A,B,C

  • 第8题:

    什么东西是死锁?请给出预防死锁的若干方法。


    正确答案: 在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待。
    防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法:
    (1)一次封锁法
    要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。
    (2)顺序封锁法
    预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。不过,预防死锁的策略不大适合数据库系统的特点。

  • 第9题:

    单选题
    系统允许发生部分死锁,一旦发现有死锁进程,则通过杀死死锁进程来解决死锁问题的方法称为()。
    A

    死锁预防

    B

    死锁避免

    C

    死锁检测

    D

    死锁解除


    正确答案: C
    解析: 暂无解析

  • 第10题:

    问答题
    什么东西是死锁?请给出预防死锁的若干方法。

    正确答案: 在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待。
    防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法:
    (1)一次封锁法
    要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。
    (2)顺序封锁法
    预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。不过,预防死锁的策略不大适合数据库系统的特点。
    解析: 暂无解析

  • 第11题:

    多选题
    在采用死锁检测的系统中,当“死锁检测”程序检测到死锁后,一般采用()等方法来解除死锁。
    A

    撤消某些进程

    B

    剥夺某些进程所占有的资源

    C

    重新启动系统

    D

    撤消全部等待进程

    E

    剥夺全部进程所占有的资料


    正确答案: C,E
    解析: 暂无解析

  • 第12题:

    问答题
    死锁的发生是坏事还是好事?试说明理由。如何解除死锁状态?

    正确答案: 死锁的发生即是坏事又是好事。
    (1)使并发事务不能继续执行下去,造成时间开销却不产生结果。
    (2)在某些时候我们要利用它来解决更新操作导致的数据库不一致状态。
    解除死锁状态:抽出某个事务作为牺牲品,把它撤消,做回退操作,解除它的所有封锁,并恢复到初始状态。
    解析: 暂无解析

  • 第13题:

    请给出预防死锁和检测死锁的方法。若检测发生死锁,应如何解除死锁?


    正确答案:预防死锁通常有以下两种方法: ①一次封锁法。就是要求每个事务必须一次将所有要使用的数据全部加锁。否则该事务不能继续执行; ②顺序封锁法是预先对数据对象规定一个封锁顺序。所有事务都按这个顺序实行封锁。检测死锁发生的一种方法是选择一个处理死锁代价最小的事务将其撤销释放此事务持有的所有锁使其他事务得以继续运行下去。
    预防死锁通常有以下两种方法: ①一次封锁法。就是要求每个事务必须一次将所有要使用的数据全部加锁。否则该事务不能继续执行; ②顺序封锁法,是预先对数据对象规定一个封锁顺序。所有事务都按这个顺序实行封锁。检测死锁发生的一种方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他事务得以继续运行下去。 解析:在IN子查询中,内层查询只处理一次,得到一个结果集,再依次处理外层查询。 解除死锁问题有两类方法:一类方法是采用一定措施来预防死锁的发生;另一类方法是允许发生死锁。然后采用一定手段定期诊断系统中有无死锁,若有则解除之。

  • 第14题:

    解决死锁的方法有多种,通过银行家算法来解决死锁的方法称为

    A.死锁预防

    B.死锁预防

    C.死锁检测

    D.死锁解除


    正确答案:B

  • 第15题:

    银行家算法是一种()算法。

    A.死锁检测
    B.死锁解除
    C.死锁预防
    D.死锁避免

    答案:D
    解析:
    银行家算法是一个避免死锁的著名算法。

  • 第16题:

    死锁的发生是坏事还是好事?试说明理由。如何解除死锁状态?


    正确答案: 在DBS运行时,死锁状态是我们不希望发生的,因此死锁的发生本身是一件坏事。但是坏事可以转换为好事。如果我们不让死锁发生,让事务任意并发做下去,那么有可能破坏DB中的数据,或用户读了错误的数据。从这个意义上讲,死锁的发生是一件好事,能防止错误的发生。
    在发生死锁后,系统的死锁处理机制和恢复程序就能起作用,抽取某个事务作为牺牲品,把它撤销,做ROLLBACK操作,使系统有可能摆脱死锁状态,继续运行下去。

  • 第17题:

    解决死锁有多种方法,一次分配所有资源来解决死锁的方法称为()。

    • A、死锁预防
    • B、死锁避免
    • C、死锁检测
    • D、死锁解除

    正确答案:A

  • 第18题:

    当系统出现死锁时,请给出死锁恢复的步骤


    正确答案:选择牺牲者,回滚,防止饿死。

  • 第19题:

    解决死锁的方法有多种,通过银行家算法来解决死锁的方法称为()

    • A、死锁预防
    • B、死锁预防
    • C、死锁检测
    • D、死锁解除

    正确答案:B

  • 第20题:

    问答题
    当系统出现死锁时,请给出死锁恢复的步骤

    正确答案: 选择牺牲者,回滚,防止饿死。
    解析: 暂无解析

  • 第21题:

    单选题
    银行家算法是一种()算法。
    A

    死锁预防

    B

    死锁避免

    C

    死锁解除

    D

    死锁检测


    正确答案: B
    解析: 暂无解析

  • 第22题:

    问答题
    请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?

    正确答案: 数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁发生。DBMS并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。当然,对撤销的事务所执行的数据修改操作必须加以恢复。
    解析: 暂无解析

  • 第23题:

    问答题
    死锁检测出来后,有哪些方法可以解除死锁?

    正确答案: 如果检测到死锁,系统采用抢夺处于死锁状态的进程的资源,或强迫进程结束,或重新启动操作系统等方法来解除死锁。
    解析: 暂无解析