私は複数のスレッドから同時にキャッシュをロードする計画があります。これの最も簡単な形式は、次のようになります。igniteキャッシュスレッドは安全ですか?
IgniteCache<Integer, Integer> cache = ignite.getOrCreateCache("ints");
ExecutorService es = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
for (int i = 0; i < 20000000; i++) {
int t = i;
es.submit(() -> {
cache.put(t, t);
});
}
そういうのは安全でしょうか?
キャッシュ内の指定されたキーに指定された値を関連付けます。 以前にキャッシュにキーのマッピングが含まれていた場合、古い値は で、指定した値に置き換えられました。 (キャッシュcはとc.containsKey(k)は trueを返す場合だけ、キーkの のマッピングが含まれていると言われている。)
スレッドの安全性についてのいずれかの単語があります。それで、IgniteCache
を同時に入れても安全ですか?