gpt4 book ai didi

java - 防止其他线程在写入期间访问对象

转载 作者:行者123 更新时间:2023-12-02 12:21:37 25 4
gpt4 key购买 nike

假设我有一个对象:

class Obj o{ 
public int x;
public int y;
}

并且一个线程调用该方法:

update(Obj o, int x, int y){
o.x = x;
o.y = y;
}

如何防止其他线程在执行“update”期间访问该对象的字段并等待该方法完成后再读取数据?

最佳答案

您需要将 Obj 类的成员设置为私有(private),以便您可以控制他们的访问权限。然后,将 update() 方法移到类中并声明它是同步的。最后,在类中创建 getX() 和 getY() 方法来获取值并声明它们是同步的。

使所有这些方法成为类的成员并同步它们将确保它们不能“同时”由不同的线程运行。

关于java - 防止其他线程在写入期间访问对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45736735/

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