JavaのAtomic*クラス群にlazySetというメソッドがあるけどなんだかよくわからなかった。ので、調べてみました。
APIリファレンスを見ても、
「指定された値に最終的に設定します。」
と書かれているだけで、通常のsetと何が違うのかよくわからない。
Java8 API仕様 http://docs.oracle.com/javase/jp/8/api/
以下に一応説明があるけど、結局どんな時に使うのか。。。
https://docs.oracle.com/javase/jp/8/api/java/util/concurrent/atomic/package-summary.html
結局、見つかったのはDoug Lea氏のコメント。
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6275329
もう他のスレッドが見る必要のない、削除されたオブジェクトにGCを促すためにnullを入れたいけど、
パフォーマンスのために同期したくないって時に使うみたい。
まあ、いつかnullが入ると。
APIリファレンスを見ても、
「指定された値に最終的に設定します。」
と書かれているだけで、通常のsetと何が違うのかよくわからない。
Java8 API仕様 http://docs.oracle.com/javase/jp/8/api/
以下に一応説明があるけど、結局どんな時に使うのか。。。
https://docs.oracle.com/javase/jp/8/api/java/util/concurrent/atomic/package-summary.html
結局、見つかったのはDoug Lea氏のコメント。
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6275329
もう他のスレッドが見る必要のない、削除されたオブジェクトにGCを促すためにnullを入れたいけど、
パフォーマンスのために同期したくないって時に使うみたい。
まあ、いつかnullが入ると。
0 件のコメント:
コメントを投稿