私はJavaで複数のスレッドを実行しています。Javaマルチスレッドでキャッシュメモリを共有するには?
私は約5GBの大きなファイルを読み、このファイルを複数のスレッドで共有します。
ファイルを読み込んだ後、複数のスレッドを呼び出します。
私が知る限り、Javaスレッドは共有変数を読み取り、それを独自のキャッシュに格納します。
私の場合、5つのスレッドがある場合、プログラムは最大25 GBのメモリを消費します。
しかし、自分のスレッドが共有変数を独自のキャッシュに格納せず、共有変数を格納せずに共有するようにします。
これを行う方法はありますか?
ありがとうございます。
変数を取得キャッシュされたオブジェクト全体ではなく、単にそれを参照します。 CPUは、5Gの一部をキャッシュすることもできますが、全体をキャッシュすることはできません。一般に、CPUの操作レベルを心配する必要はありません。 – yshavit