首页 > 解决方案 > 内部类的可变变量可见性

问题描述

我在类 A 中有一个带有 volatile 标志的多线程代码。该代码有一个静态嵌套类 B,我需要使用这个 volatile 标志来将新的逻辑控制用于内部类。但是,从类 B 中看不到 volatile 变量。有什么想法可以操纵它吗?

代码示例:

public class A
{
    public volatile boolean flag = false;

    public static class B
    {
        //What I want to do
        this.flag = true;
    }

}

问题上下文概述:该标志已经存在于 A 类中。它已经由 N 个类和线程“同时”操作。现在,我需要向内部类 B 添加一个新逻辑,该逻辑仅在方法执行时标志为真时才会执行。但是,为此,我需要访问标志变量值。

提前致谢

标签: javamultithreadingvolatileanonymous-class

解决方案


推荐阅读