gpt4 book ai didi

java - ReentrantLock如何同步?

转载 作者:行者123 更新时间:2023-12-01 19:05:10 25 4
gpt4 key购买 nike

我查看了 ReentrantLock 的 Java API,发现没有使用 synchronized 关键字进行同步。是否在 AbstractQueuedSynchronizer 中的以下方法(尝试获取锁时 ReentrantLock 所指的)中同步了对象?由于 compareAndSwapInt 是 native 方法,因此同步是在 native 级别/代码进行的吗?

protected final boolean compareAndSetState(int expect, int update) {
// See below for intrinsics setup to support this
return unsafe.compareAndSwapInt(this, stateOffset, expect, update);
}

最佳答案

每个 JDK 的实现可能会有所不同。例如,Sun(现在的 Oracle)实现是通过 sun.misc.Unsafe ( http://www.docjar.com/docs/api/sun/misc/Unsafe.html )

实现的

我曾经在博客中介绍过 Java concurrency in unsafe :)

关于java - ReentrantLock如何同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10351918/

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