gpt4 book ai didi

java - 如何从另一个线程更改主线程中的变量?

转载 作者:行者123 更新时间:2023-12-02 04:07:10 24 4
gpt4 key购买 nike

这是我的 run() 函数:

@Override
public void run() {
while (true) {
long elapsed = TimeUtils.nanoTime() - startTime;
Texture currentFrame = connectedAnim.getFrame(elapsed);
textureToApplyTo = currentFrame;
}
}

在此类的构造函数中,我已将 textureToApplyTo 设置为主线程中的纹理变量。问题是,当我将 run() 函数中的 textureToApplyTo 设置为 currentFrame 时,它只会在我设置它的类中更改它。我认为问题是我正在这个类以及主类中创建变量textureToApplyTo,但我不知道我还能怎么做......我需要一种方法来更改textureToApplyTo 该线程主类中的变量。

最佳答案

在纹理Apply声明中添加 volatile 关键字。像这样

 public static volatile Texture textureToApplyTo;

关于java - 如何从另一个线程更改主线程中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34162663/

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