gpt4 book ai didi

java - Java 5 中的 Lock 和 ReentrantLock 有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:21 25 4
gpt4 key购买 nike

我不明白它们之间的区别。我认为来自锁接口(interface)的锁也是可重入的,那么它们之间有什么区别?你什么时候使用它们?

最佳答案

Lock是一个接口(interface)。它定义了一组所有锁都应该有的方法。

ReentrantLock是实现Lock 接口(interface)的具体类。它实现了 Lock 中定义的所有方法,还有更多。此外,正如名称中所提到的,锁是可重入的,这意味着同一个线程可以根据需要多次获取锁。这与 synchronized 关键字提供的 native 对象监视器锁的行为本质上相同。

Lock 接口(interface)使您可以实现自己的锁。例如,您可以设计一个锁来发出 HTTP 请求(执行网络 I/O)以锁定远程资源。另一个使用你的锁的类不会关心你的锁的内部细节;它只关心您的自定义锁遵守 Lock 接口(interface)。

关于java - Java 5 中的 Lock 和 ReentrantLock 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36799339/

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