_Sun.misc.Unsafe
_の包括的なドキュメントを知っている人はいますか?
Unsafe.putOrderedInt()
に関するドキュメントを探しています。 これ は私が見つけることができたすべてでした。
_public native void putOrderedInt(Object o,
long offset,
int x)
Ordered/Lazy version of #putIntVolatile(Object, long, int)
_
誰もがより良いソースを知っていますか?
Mishadoffのブログにそれに関する素晴らしい投稿があります here .
クラスは正式に文書化されていません。
putOrderedメソッドについて..
このメソッドを呼び出して、揮発性ストアを使用せずに揮発性フィールドを設定できます。揮発性ストアを実行する場合、基本的に、バリアの前のすべてのストア命令がバリアの前に発生し、メモリが表示されるストアメモリバリアがありますデータがキャッシュサブシステムに伝播されることを確認します。したがって、揮発性ストアがある場合は、ストアバッファが空になるのを待つ必要があります。putOrdered実行中のスレッドは、ストアバッファが空になるのを待たず、これによりパフォーマンスが向上します。しかし、結果として、保存された値は他のスレッドからすぐには見えません。
AtomicLong(または他のAtomicクラス)を見ると、lazySetputOrderedLongを実際に実行するメソッド。このメソッドのjavadocは次のとおりです。
最終的に指定された値に設定します。