gpt4 book ai didi

java - Java 中的 StampedLock 是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:59:44 26 4
gpt4 key购买 nike

我正在编写 Java 代码,我需要在其中实现线程。我正在通过 JAVA 8 API 并开始了解 Stamped Locks。谁能告诉我为什么在多线程中使用 StampedLocks?

提前致谢。

最佳答案

StampedLock 是使用 ReadWriteLock(由 ReentrantReadWriteLock 实现)的替代方法。 StampedLock 和 ReentrantReadWriteLock 的主要区别在于:

  • StampedLocks 允许对读取操作进行乐观锁定
  • ReentrantLocks 是可重入的(StampedLocks 不是)

因此,如果您有争用的场景(否则您不妨使用 synchronized 或简单的 Lock)并且读者多于编写者,使用 StampedLock 可以显着提高性能。

但是,在得出结论之前,您应该根据您的具体用例来衡量性能。

Heinz Kabutz 写过关于 StampedLocks in his newsletter 的文章他还做了a presentation about performance .

关于java - Java 中的 StampedLock 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26094200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com