Java メモリ モデルを理解するための助けが必要です。以下は、基本的な概念を理解するための一般的な例です。
Image というオブジェクト インスタンスとShared、2 つのスレッドAとがありBます。さらにQueue、同期putとtake.
スレッドは、メソッドの前およびメソッド内で-instanceAを変更します。Sharedput
質問 1:からのすべての変更は、同期メソッドを介してオブジェクト インスタンスを取得するAときに表示されますか?BSharedtake
質問 2: メモリ キャッシュは、同期メソッドSharedを終了するとすぐにフラッシュされます (すべての変更が表示されます) 。が-method で によって呼び出された場合、正確にはどうなりますか? -methodをまだ終了していなくても、変更が行われたことがわかりますか? 呼び出し時にキャッシュもフラッシュされますか?Aputwait()putABSharedAsynchronizedwait()