gpt4 book ai didi

Java volatile 关键字 - 我需要它吗?

转载 作者:行者123 更新时间:2023-12-02 08:39:56 27 4
gpt4 key购买 nike

我有一个多线程环境,由“池”管理。该池保证一次只有一个线程可以访问共享资源。一旦资源被当前使用它的线程释放,该资源就会返回到池中并可供其他线程使用。同步是通过在 Pool 内使用 ReentrantLock 来完成的。我应该考虑对共享资源的类属性使用 volatile 吗?

谢谢。

最佳答案

Javadoc ReentrantLock 将其描述为:

A reentrant mutual exclusion Lock with the same basic behavior and semantics as the implicit monitor lock accessed using synchronized methods and statements, but with extended capabilities.

因此,unlock() 发生在后续成功的 acquire() 之前,就像释放监视器发生在后续获取之前一样。

因此,如果共享资源无法通过任何其他方式访问,您就不需要进一步同步。

关于Java volatile 关键字 - 我需要它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61441823/

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