gpt4 book ai didi

java - 什么是类级别、对象级别、显式和内部锁定?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:46:24 24 4
gpt4 key购买 nike

我一直在研究 Java 多线程概念。我越经历它们,我就越困惑。

现在我不理解 Java 中类级别、对象级别、显式锁定和内部锁定之间的区别。有人可以让我知道哪个是什么吗?另外,如果我能得到一些例子来理解,那将对我很有帮助。

最佳答案

显式与内在

当您在对象上使用synchronized 或作为方法签名的一部分间接使用时,您正在创建一个intrinsic lock。 .您依赖与所有对象和类关联的内置锁。

在 Java 5+ 包 java.util.concurrent.locks 中提供了一个显式锁。最常用的类可能是ReentrantLock。这些提供了使用内部锁的替代方案,并提供了内部锁无法实现的功能。

类级别与对象级别

这种区别仅适用于内部锁。如果你有 synchronized static method ,所使用的内部锁将与类对象本身相关联。如果您在对象实例上进行同步(或具有同步实例方法),它将是一个对象级锁。


进一步阅读

Brian Goetz 的 Java Concurrency in Practice是一本了解 Java 多线程编程噩梦般困惑世界的好书。

关于java - 什么是类级别、对象级别、显式和内部锁定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26675381/

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