我使用的是Java 6,并在实践中通过Java并发进行阅读。我正在尝试弄清楚在使用这些方法时,等待锁的休眠线程是否在休眠时使用任何CPU周期。有人知道吗?谢谢!
哑光
发布于 2011-03-16 05:09:17
任何操作都会消耗时钟周期。但是,当线程挂起时,时钟周期的数量是固定的,并不取决于它挂起的时间长短。如果线程在相对较短的时间内被挂起,这是很好的,但是在很短的一段时间内,它的效率不是很高,这就是为什么Lock不会立即挂起线程,而是在挂起线程之前重试几次来获得锁(希望它可以避免这样做)
我假设您谈论的是ReentrantReadWriteLock.readLock()和ReentrantReadWriteLock.writeLock()支持的Lock.lock()。
https://stackoverflow.com/questions/5317902
复制相似问题