Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Fork/Join中的ThreadLocalRandom一致性_Java_Multithreading - Fatal编程技术网

Java Fork/Join中的ThreadLocalRandom一致性

Java Fork/Join中的ThreadLocalRandom一致性,java,multithreading,Java,Multithreading,我的要求是使用Fork/Join框架用唯一的随机整数初始化一个非常大的整数数组。看起来我可以使用ThreadLocalRandom,因为Javadoc说它非常适合在Fork/Join情况下使用。我的问题是:由于池中的每个线程都有自己的ThreadLocalRandom实例,而该实例不是共享的,那么两个线程是否有可能生成相同的随机int 是-概率可能与对所有线程只使用一个随机数大致相同 ThreadLocalRandom旨在减少多个线程使用同一实例时可能发生的争用和开销,但不能保证随机数序列由唯一

我的要求是使用Fork/Join框架用唯一的随机整数初始化一个非常大的整数数组。看起来我可以使用ThreadLocalRandom,因为Javadoc说它非常适合在Fork/Join情况下使用。我的问题是:由于池中的每个线程都有自己的ThreadLocalRandom实例,而该实例不是共享的,那么两个线程是否有可能生成相同的随机int

是-概率可能与对所有线程只使用一个随机数大致相同

ThreadLocalRandom旨在减少多个线程使用同一实例时可能发生的争用和开销,但不能保证随机数序列由唯一的数字组成


如果需要unicity,您必须手动检查生成的值与之前生成的值。

如果它们不会生成相同的数字,它们是否会是随机生成器?您真正需要的是Java8中的java.util.SplittableRandom。