今天看《java核心技术》多线程一章里有这样一段话:
当线程试图获取一个内部的对象锁(不是java.util.concurrent库中的锁),而锁被其它线程占有,则该线程进入阻塞状态。
请问这个括号里说的是什么意思呢?concurrent库中的锁没有阻塞状态吗?应该怎样理解呢?

解决方案 »

  1.   

    这里原意应该强调的是语言层面所提供的“内部锁”,而并非指类包实现的锁。java.util.concurrent.locks 里面有很多锁实现,实际上也是基于内部锁机制来实现的。
      

  2.   

    比如ReentrantReadWriteLock中的readLock,多个线程获取readLock就不会阻塞