Random
複数のスレッドで(シードされた) オブジェクトを使用しようとしてThreadLocalRandom
いますが、シードを設定できないことを除いて、javadocs は見栄えが良いことを指摘しているため、異なるスレッドまたは実行間の一貫性を確保できません。使用する実用的な理由はありますThreadLocalRandom
か、または次のようなことをしてもよいでしょうか:
// Pass returned ThreadLocal object to all threads which need it
public static ThreadLocal<Random> threadRandom(final long seed) {
return new ThreadLocal<Random>(){
@Override
protected Random initialValue() {
return new Random(seed);
}
};
}