下列情况中,不会使线程返回所持有的对象锁的是( )。A.当synchronized()语句块执行完毕B.当调用了线程的suspend()方法C.当在synchronized()语句块中出现异常(Exception)D.当持有锁的线程调用该对象的wait()方法

题目

下列情况中,不会使线程返回所持有的对象锁的是( )。

A.当synchronized()语句块执行完毕

B.当调用了线程的suspend()方法

C.当在synchronized()语句块中出现异常(Exception)

D.当持有锁的线程调用该对象的wait()方法


相似考题
更多“下列情况中,不会使线程返回所持有的对象锁的是( )。A.当synchronized()语句块执行完毕B.当调用了 ”相关问题
  • 第1题:

    在多线程并发程序设计中,能够给对象x加锁的语句是( )。 A.X.waitB.synchronized(x)S

    在多线程并发程序设计中,能够给对象x加锁的语句是( )。

    A.X.wait

    B.synchronized(x)

    C.X.notify

    D.x.synchronized


    正确答案:B
    B。【解析】Java平台将每一个由synchronized(object)语句指定的对象设置一个锁,称为对象锁,是一种独占的排他锁。

  • 第2题:

    4、线程同步中,对象的锁在()情况下持有线程返回

    A.当synchronized()语句块执行完毕后

    B.当在synchronized()语句块执行中出现例外(exception)时

    C.当持有锁的线程调用该对象的wait()方法时

    D.以上都是


    D

  • 第3题:

    7、一个线程即使没有执行完它所调用对象的synchronized块或方法时,也会自动释放互斥锁。


    错误

  • 第4题:

    下列说法中错误的一项是______。

    A.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用wait()方法

    B.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用notify()方法

    C.wait()和notify()可以实现线程的同步操作

    D.线程在synchronized块中执行完操作后,调用notify()方法通知正在等待的线程重新占有锁


    正确答案:B
    解析:线程调用wait()方法,进入等待状态,并且暂时释放共享数据的对象锁,其他的线程可以获得该对象锁,进入临界区进行操作,操作完成之后,再调用notify()方法通知等待的线程重新占有锁,这样就实现了线程的同步操作。

  • 第5题:

    线程同步中,对象的锁在()情况下持有线程返回

    A.当synchronized()语句块执行完毕后

    B.当在synchronized()语句块执行中出现例外(exception)时

    C.当持有锁的线程调用该对象的wait()方法时

    D.以上都是


    以上都是