在我的程序中,我需要运行N个单独的线程,每个线程都有自己的RNG,该RNG用于采样大型数据集。我需要能够使用单个值为整个过程设定种子,以便能够重现结果。 仅按顺序增加每个索引的种子就足够了吗? 目前,我使用numpy的是RandomState使用Mersenne Twister伪随机数生成器的。 下面的代码片段: # If a random number generator seed exists if self.random_generator_seed: # Create a new random number generator for this instance based on its # own index self.random_generator_seed += instance_index self.random_number_generator = RandomState(self.random_generator_seed) 本质上,我从用户输入的种子(如果存在)开始,然后针对每个实例/线程,依次添加正在运行的实例的索引(从0到N-1)。我不知道这是个好习惯还是有更好的方法来做到这一点。