synchronized和java.util.concurrent.locks.Lock的比较,描述正确的是()A.Lock不能完成synchronized所实现的所有功能B.synchronized会自动释放锁C.Lock一定要求程序员手工释放,并且必须在finally从句中释放D.Lock有比synchronized更精确的线程语义和更好的性能

题目
synchronized和java.util.concurrent.locks.Lock的比较,描述正确的是()

A.Lock不能完成synchronized所实现的所有功能

B.synchronized会自动释放锁

C.Lock一定要求程序员手工释放,并且必须在finally从句中释放

D.Lock有比synchronized更精确的线程语义和更好的性能


相似考题
更多“synchronized和java.util.concurrent.locks.Lock的比较,描述正确的是() ”相关问题
  • 第1题:

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

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

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

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

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


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

  • 第2题:

    在多线程并发程序设计中,能够给对象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)语句指定的对象设置一个锁,称为对象锁,是一种独占的排他锁。

  • 第3题:

    ( 31 ) 为了支持压栈线程与弹栈线程之间的交互与同步 , 在程序的下划线处依次填入的语句是

    public class IntStack{

    private int idx=0;

    private int[] data=new int[8];

    public void push(int i){

    data[idx]=i;

    idx++;

    }

    __________

    ......

    }

    A ) synchronized()

    notify()

    B ) synchronized()

    this.wait()

    C ) synchronized()

    this.notify()

    D ) synchronized()

    sleep()


    正确答案:B

  • 第4题:

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

    A.X.wait

    B.synchronized(x)

    C.X.notify

    D.x.synchronized


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

  • 第5题:

    阅读下面实现堆栈类并发控制的部分代码 public class DataStack } private int idx=0; private int[] data=new int[8]; public void push(int i) { ______ { data[idx]=I: idx++; } } … } 程序中下画线处应填入的正确选项是

    A.synchronized

    B.synchronized(this)

    C.synchronized()

    D.synchronized(idx)


    正确答案:B
    解析:在Java中,使用synchronized关键字标识临界区。Java平台将每个由synchronized语句设置的对象设置一个锁,称为对象锁,它是一种独占的排他锁,即同一时刻最多只能有一个线程获取该锁。为了能够正常地使用对象锁,对共享数据的所有访问都必须在临界区内,同时临界区的共享数据必须是私有的,确保只能通过对象的方法才能访问到。本程序中,下画线后边的代码即为临界区,所以需要用synchronized关键字标识。