我应该更喜欢ThreadLocalRandom而不是ThreadLocal<Random>吗?
2022-09-02 22:28:09
我希望在多个线程中使用(种子化)对象,javadocs向我指出了ThreadLocalRandom
,它看起来很棒,除了我无法设置种子,所以我无法确保不同线程或运行之间的一致性。是否有任何实际理由使用,或者是否可以接受执行以下操作:Random
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);
}
};
}