Я хочу использовать (посеянные) объекты Random
для нескольких потоков, а javadocs указали мне на ThreadLocalRandom
, который выглядит отлично, за исключением того, что я не могу установить семя, поэтому я не могу обеспечить согласованность между различными потоками или прогонами. Есть ли практическая причина использовать 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);
}
};
}