Java メモリバリアにはどのような種類がありますか?

WBOY
リリース: 2023-05-11 23:19:04
転載
1060 人が閲覧しました

最新のオペレーティング システムはマルチプロセッサであり、各プロセッサには独自のキャッシュがあり、これらのキャッシュはメモリとリアルタイムで情報を交換しません。したがって、ある CPU のキャッシュ データは、別の CPU のキャッシュ データと矛盾する可能性があります。このように、マルチスレッド開発では異常な動作が発生することがありますが、オペレーティング システムの最下層には、これらの問題を解決するためのメモリ バリアが用意されています。

1. LoadLoad バリア

このような言語では、Load1、LoadLoad2、Load1 は、Load2 で読み取られたデータと後続の読み取り操作がアクセスされる前に読み取られることが保証されます。データが読み取られます。

2. StoreStore バリア

Store1、StoreStore、Store2 のような言語については、Store2 以降の書き込みが実行される前に、Store1 の書き込み操作が参照できることが保証されています。他のプロセッサ。

3. LoadStore バリア

このような言語 Load1、LoadStore、Store2 では、Store2 以降の書き込み操作が実行される前に、Load1 によって読み取られるデータが保証されます。読まれます。

4. StoreLoad バリア

Store1、StoreLoad; Load2 のような言語では、Load2 とその後のすべての読み取り操作が実装される前に、Store1 の入力が確実に実行できることを確認してください。すべてのプロセッサを参照。 コストは 4 つの障壁 (バッファのフラッシュ、無効化キューのクリア) の中にあります。ほとんどのプロセッサ実装では、このバリアは他の 3 つのメモリ バリアとしても機能するユニバーサル バリアです。

Java の基本データ型とは

Java の基本データ型は次のように分類されます:

1. 整数型。整数のデータ型を表すために使用されます。

2. 浮動小数点型、小数を表すために使用されるデータ型。

3. 文字型. 文字型のキーワードは「char」です。

4. ブール型は論理値を表す基本的なデータ型です。

以上がJava メモリバリアにはどのような種類がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート