0

以下のコードを実行しようとしていますが、正しい出力が得られません。

期待される出力「ようこそ新しいプログラマー」

実際の出力「新しい歓迎プログラマー」

class First {
    public synchronized void display(String msg) {
        System.out.print("["+msg);
        System.out.println("]");
    }
}

class Second {
    String msg;
    First fobj;
    Second (First fp,String str) {
        fobj = fp;
        msg = str;
        start();
    }

    public void run() {
        synchronized(fobj) {       //Synchronized block
            fobj.display(msg);
        }
    }
}

public class SyncroBlock {
    public static void main (String[] args) {
        First fnew = new First();
        Second ss = new Second(fnew, "welcome");
        Second ss1 = new Second(fnew,"new");
        Second ss2 = new Second(fnew, "programmer");
    }
}

ここで私はどこで間違ったのですか?誰でも私を修正してもらえますか?

4

2 に答える 2