4

アプリケーションの起動時に、バックグラウンド スレッドでクラスをインスタンス化し、それを変数に割り当てています。後でメインスレッドからその変数にアクセスします。この変数は一度だけ割り当てられます。

私の理解では、ここで volatile キーワードを使用する必要はありません。これは、UI スレッドで最初にアクセスされるまで参照をキャッシュできないためです。私の考えは正しいですか、それとも何かが欠けていますか?

4

1 に答える 1

3

私は正しいですか?

はい。キャッシュは、1 つのスレッドが変数を繰り返し読み取る (別のスレッドから書き込まれる) 場合にのみ問題になります。

また、参照への割り当てはアトミックであるため、安全です。

于 2012-11-06T07:37:42.623 に答える