gpt4 book ai didi

java - 不安全的太阳类实现

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

/**
* Atomically update Java variable to <tt>x</tt> if it is currently
* holding <tt>expected</tt>.
* @return <tt>true</tt> if successful
*/
public final native boolean compareAndSwapObject(Object o, long offset,
Object expected,
Object x);

1) 如果“value==expected”,他们如何“原子地”将位置“offset”处的“o”的值设置为“x”?

2) 当我们使用同步方法或同步块(synchronized block)时,它们如何“锁定”对象?我只是想知道引擎盖下发生了什么。

最佳答案

  1. 由于这是 native 方法,因此他们将回退到目标平台提供的任何内容。 IIRC,“比较和交换”在 10 多年前作为处理器命令出现在 MIPS 和 SPARC 上。

  2. 他们在幕后使用类似 1 的东西来获取对对象的锁定

关于java - 不安全的太阳类实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9956085/

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