下列各项说法中错误的是( )。A.共享数据的所有访问都必须使用synchronized加锁B.共享数据的访问不一定全部使用synchronized加锁C.所有的对共享数据的访问都是临界区D.临界区必须使用synchronized加锁

题目

下列各项说法中错误的是( )。

A.共享数据的所有访问都必须使用synchronized加锁

B.共享数据的访问不一定全部使用synchronized加锁

C.所有的对共享数据的访问都是临界区

D.临界区必须使用synchronized加锁


相似考题
参考答案和解析
正确答案:B
B【解析】共享数据的所有访问一定要作为临界区,用synchronized标识,这样保证了所有的对共享数据的操作都通过对象锁的机制进行控制。
更多“下列各项说法中错误的是( )。 A.共享数据的所有访问都必须使用synchronized加锁B.共享数据的访问 ”相关问题
  • 第1题:

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

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

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

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

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


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

  • 第2题:

    下列各项说法中错误的是( )。

    A.共享数据的所有访问都必须使用synchronized加锁

    B.共享数据的访问不一定全部使用synchronized加锁

    C.所有的对共享数据的访问都是临界区

    D.临界区必须使用synchronized加锁


    正确答案:B
    解析: 共享数据的所有访问一定要作为临界区,用synchronized标识,这样保证了所有的对共享数据的操作都通过对象锁的机制进行控制。

  • 第3题:

    1、下列说法中错误的一项是()

    A.共享数据的所有访问都必须使用synchronized加锁

    B.所有的对共享数据的访问都是临界区

    C.共享数据的访问不一定全部使用synchronized加锁

    D.临界区必须使用synchronized标识


    A

  • 第4题:

    下列说法正确的是( )。

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

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

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

    D.对象锁不能返回


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

  • 第5题:

    下列说法正确的是

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

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

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

    D.对象锁不能返还


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