0

Java 言語仕様 7、セクション 17.4.5:

5. The default initialization of any object happens-before any other
actions (other than default-writes) of a program.

正確にはどういう意味ですか?デフォルトの初期化とは何ですか? 例を挙げていただけますか?

4

2 に答える 2

2

前に起こる は同時実行用語です。額面どおり、それはあなたの考えを意味しますが、それを超えています。非最終的で揮発性のないフィールドの場合、Java は、何かが先行発生関係を確立しない限り、フィールド値がスレッド間で同期されることを保証しません。

仕様のその部分は、コンストラクターでスレッドを生成した場合でも、オブジェクトにアクセスする他のスレッドがデフォルトの初期化値を見ることを意味します。

于 2013-10-01T16:56:06.890 に答える