Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 Java 6,并阅读 Java Concurrency in Practice。我试图弄清楚在使用这些方法时,等待锁定的休眠线程是否在休眠时使用任何 CPU 周期。有人知道吗?谢谢!
马特
任何动作都会消耗时钟周期。然而,当一个线程被挂起时,时钟周期数是固定的,并不取决于它被挂起的时间。如果线程即使在相对较短的时间内被挂起,这也很好,但是在很短的时间内它的效率不是很高,这就是为什么 Lock 不会立即挂起线程而是重试少量次以获得在挂起线程之前锁定(希望它可以避免这样做)
我假设您正在谈论 ReentrantReadWriteLock.readLock() 和 ReentrantReadWriteLock.writeLock() 支持的 Lock.lock() 。