3

この D クラスのスレッドが正しいかどうかはわかりません。iアクセス時に同期ブロックにあるはずの競合状態はありますか? D が外部クラスで、A インスタンスが D コンストラクターに渡された場合はどうなるでしょうか。

class A
{
    int i;
    void f() {
        i++;
        D d = new D();
        d.start();
    }
    class D extends Thread {
        public void run() {
            int g = i;
        }
    }
}
4

3 に答える 3