更多“线程同步中,对象加锁应该注意()A.返还对象的锁B.用synchronized保护的共享数据必须是私有的C.Jav ”相关问题
  • 第1题:

    下列关于对象加锁的注意点的说法中,错误的一项是______。

    A.synchronized关键字标识的共享数据必须是私有的

    B.synchronized关键字可以放在方法声明中

    C.共享数据的所有访问都必须作为临界区

    D.若一个进程持有一个对象锁后,就不能在此请求获得该锁


    正确答案:D

  • 第2题:

    下列说法正确的是

    A.共享数据的所有访问都必须作为临界区

    B.用synchronized保护的共事数据可以是共有的

    C.Java中对象加锁不具有可重入性

    D.对象锁不能返还


    正确答案:A
    解析:本题考查对象加锁的相关概念。对于对象加锁的使用有些注意事项。对象的锁在某些情况下可以由持有线程返还,比如当synchronized语句块执行完成后;当在synchronized语句块中出现异常;当持有锁的线程调用该对象的wait()方法,由此可见选项D说法错误。共享数据的所有访问都必须作为临界区,使用synchronized进行加锁控制,选项A说法正确。用synchronized保护的共享数据必须是私有的,选项B说法错误。Java中对象加锁具有可重入性,选项C说法错误。

  • 第3题:

    下列说法正确的是

    A.共享数据的所有访问都必须作为临界区

    B.用synchronized保护的共享数据可以是共有的

    C.Java中对象加锁不具有可重入性

    D.对象锁不能返还


    正确答案:A
    解析:本题考查对象加锁的相关概念。对于对象加锁的使用有些注意事项。对象的锁在某些情况下可以由持有线程返还,比如当 synchronized语句块执行完成后;当在 synchronized语句块中出现异常;当持有锁的线程调用该对象的wait()方法,由此可见选项D说法错误。共享数据的所有访问都必须作为临界区,使用 synchronized进行加锁控制,选项A说法正确。用 synchronized保护的共享数据必须是私有的,选项B说法错误。Java中对象加锁具有可重入性,选项C说法错误。

  • 第4题:

    下列关于对象的加锁说法不正确的是

    A.对象的加锁技术有效的预防了死锁的发生

    B.共享数据的所有访问都必须作为临界区,使用synchronized关键字进行加锁控制

    C.用synchronized保护的共享数据必须都是私有的

    D.Java语言中对象加锁具有可重入性


    正确答案:A
    解析:如果程序中多个线程相互等待对方持有的锁,而在得到对方持有的锁之前都不会释放自己的锁,这就造成了都想得到资源而又都得不到,线程不能继续运行,这样便产生了死锁,所以对象的加锁技术没有预防死锁的发生,而是导致了死锁的发生。

  • 第5题:

    下列说法正确的是( )。

    A.共享数据的所有访问都必须作为临界区

    B.用synchronized保护的共享数据可以是共有的

    C.Java中对象加锁不具有可重人性

    D.对象锁不能返回


    正确答案:A
    本题考查对象加锁的相关概念。对于对象加锁的使用有些注意事项。对象的锁在某些情况下可以由持有线程返回,比如,当synchronized语句块执行完成后;当在synchronized语句块中出现异常;当持有锁的线程调用该对象的wait()方法,由此可见选项D说法错误。共享数据的所有访问都必须作为临界区,使用synchronized进行加锁控制,选项A说法正确。用synchronized保护的共享数据必须是私有的,选项B说法错误。Java中对象加锁具有可重入性,选项c错误。